Ergens maak ik een foutje bij de regel van INSERT INTO, maar ik kan het niet vinden.

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

$link = new mysqli("***", "***", "***") or die (mysql_error());
mysqli_select_db($link, "***");
?>

<!doctype html>
<html>
<head>

</head>
<body>
<?php if (empty($_POST)) { ?>

<form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?> method="post">
<input type="text" name="jaar" placeholder="jaar" /><br/>
<input type="text" name="rank" placeholder="rank" /><br/>
<input type="text" name="titel" placeholder="titel" /><br/>
<input type="text" name="auteur" placeholder="auteur(s)" /><br/>
<input type="text" name="meerdereauteurs" placeholder="meerdere auteurs (0/1)" /><br/>
<input type="text" name="uitgever" placeholder="uitgever (html url)" /><br/>
<input type="text" name="url" placeholder="aankooplink (tekst + html url)" /><br/>
<input type="text" name="img" placeholder="afbeelding url" /><br/>
<input type="submit" value="verzenden" />
</form>

<?php
} else {
 if ($_POST["jaar"]=="2015") {

  $result = mysql_query("SELECT * FROM managementboeken2015", $link);
  $num_rows = mysql_num_rows($result);
  $i=$_POST["rank"];
  while ($i!=$num_rows){
   $newrank=$num_rows-1;
   $sql = "UPDATE managementboeken2015 SET rank='$newrank' WHERE id='$num_rows'";
   $num_rows=$num_rows-1;
  }
  INSERT INTO managementboeken2015 (rank, titel, auteur, meerdereauteurs, uitgever, url, img) VALUES ('$_POST["rank"]', '$_POST["titel"]', '$_POST["auteur"]', '$_POST["meerdereauteurs"]', '$_POST["uitgever"]', '$_POST["url"]', '$_POST["img"]');
 
}
}
?>

</body>
</html>
Je begint met de mysql query ipv de php code om een query uit te voeren.
Een deel ontbreekt, namelijk mysql_query(" op regel 41
Ook de variabele kloppen niet, vergelijk maar eens met onderstaande code

Probeer dit eens:

<?php
} else {
 if ($_POST["jaar"]=="2015") {

  $result = mysql_query("SELECT * FROM managementboeken2015", $link);
  $num_rows = mysql_num_rows($result);
  $i=$_POST["rank"];
  while ($i!=$num_rows){
   $newrank=$num_rows-1;
   $sql = "UPDATE managementboeken2015 SET rank='$newrank' WHERE id='$num_rows'";
   $num_rows=$num_rows-1;
  }
  mysql_query('INSERT INTO managementboeken2015 (rank, titel, auteur, meerdereauteurs, uitgever, url, img) VALUES ("'.$_POST["rank"].'", "'.$_POST["titel"].'", "'.$_POST["auteur"].'", "'.$_POST["meerdereauteurs"].'", "'.$_POST["uitgever"].'", "'.$_POST["url"].'", "'.$_POST["img"].'"');

 
}
}
?>


PS: Een tip die hier al vaker gegeven is, update naar mysqli ipv mysql
TO gebruikt MySQL en MySQLi door elkaar.

Bij het maken van de database verbinding wordt (grotendeels) MySQLi gebruikt, verder in de code wordt MySQL gebruikt, dus er is geen geldige MySQL verbinding.

Reageren