Note that there are some explanatory texts on larger screens.

plurals
  1. POupdate mysql row with html form and php
    primarykey
    data
    text
    <p>I've been looking through many threads on here without finding a solution to my problem. I've created a form that is supposed to show content of a database in input boxes, and when i change the content, it should be updated in the database.</p> <p>No errors, nothing gets changed.</p> <pre><code>&lt;?php $con=mysqli_connect("localhost","root","","frontpage"); // Check connection if (mysqli_connect_errno()){ echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM frontpage_left_links") or die("Error: ".mysqli_error($con)); while($row = mysqli_fetch_array($result)){ echo '&lt;form action="" method="post"&gt;'; echo '&lt;div style="float:left"&gt;'; echo '&lt;table border="1" bordercolor="#000000"&gt;'; echo '&lt;tr&gt;'; echo '&lt;td&gt;link&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="text" name="linkid" value="'.$row['link'].'"&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; echo '&lt;tr&gt;'; echo '&lt;td&gt;img&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="text" name="imgid" value="'.$row['img'].'"&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; echo '&lt;tr&gt;'; echo '&lt;td&gt;tekst&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="text" name="imgid" value="'.$row['name'].'"&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; echo '&lt;tr&gt;'; echo '&lt;td&gt;&lt;input type="submit" id="update" name="gem" value="Gem"&lt;/td&gt;&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="hidden" name="id" value="'.$row['id'].'"&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; echo '&lt;/table&gt;&lt;/div&gt;'; echo '&lt;div style="float:left"&gt;&lt;a href="'.$row['link'].'"&gt;&lt;center&gt;&lt;img src="img/'.$row['img'].'"&gt;&lt;br /&gt;'.$row['name'].'&lt;/center&gt;&lt;/a&gt;&lt;/div&gt;'; echo '&lt;/form&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'; } if(isset($_POST['update'])){ $id = $_POST['id']; $link = $_POST['linkid']; $img = $_POST['imgid']; $name = $_POST['nameid']; $sql = mysqli_query("UPDATE frontpage_left_links SET link = '$link', img = '$img', name = '$name' WHERE id = '$id'"); $retval = mysqli_query( $sql, $con ); if(! $retval ){ die('Could not update data: ' . mysql_error()); } echo "Updated data successfully\n"; } mysqli_close($con); ?&gt; </code></pre> <p>The form show the database content fine, but nothing happens when changed.</p> <p>I appreciate any help I can get.</p> <hr> <p>This is what it looks like now.</p> <pre><code>&lt;?php $con=mysqli_connect("localhost","root","","frontpage"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } if(isset($_POST['gem'])) { $id = $_POST['id']; $link = $_POST['linkid']; $img = $_POST['imgid']; $name = $_POST['nameid']; $sql = mysqli_query("UPDATE frontpage_left_links SET link = '$link', img = '$img', name = '$name' WHERE id = '$id'"); $retval = mysqli_query( $con, $sql ); if(! $retval ) { die('Could not update data: ' . mysql_error()); } echo "Updated data successfully\n"; } $result = mysqli_query($con,"SELECT * FROM frontpage_left_links") or die("Error: ".mysqli_error($con)); while($row = mysqli_fetch_array($result)) { echo '&lt;form action="" method="post"&gt;'; echo '&lt;div style="float:left"&gt;'; echo '&lt;table border="1" bordercolor="#000000"&gt;'; echo '&lt;tr&gt;'; echo '&lt;td&gt;link&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="text" name="linkid" value="'.$row['link'].'"&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; echo '&lt;tr&gt;'; echo '&lt;td&gt;img&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="text" name="imgid" value="'.$row['img'].'"&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; echo '&lt;tr&gt;'; echo '&lt;td&gt;tekst&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="text" name="nameid" value="'.$row['name'].'"&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; echo '&lt;tr&gt;'; echo '&lt;td&gt;&lt;input type="submit" id="update" name="gem" value="Gem"&lt;/td&gt;&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="hidden" name="id" value="'.$row['id'].'"&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; echo '&lt;/table&gt;&lt;/div&gt;'; echo '&lt;div style="float:left"&gt;&lt;a href="'.$row['link'].'"&gt;&lt;center&gt;&lt;img src="img/'.$row['img'].'"&gt;&lt;br /&gt;'.$row['name'].'&lt;/center&gt;&lt;/a&gt;&lt;/div&gt;'; echo '&lt;/form&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'; } mysqli_close($con); ?&gt; </code></pre> <p>Now i get this error.</p> <p>Warning: mysqli_query() expects at least 2 parameters, 1 given in /Applications/XAMPP/xamppfiles/htdocs/page/admin.php on line 17</p> <p>Warning: mysqli_query(): Empty query in /Applications/XAMPP/xamppfiles/htdocs/page/admin.php on line 19 Could not update data: </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload