Ok, so dass meine einfügen sollte in Ordnung sein, aber gibt false zurück, $ quote hält Wert, den ich überprüft habe. und meine Datenbank ist here Hope ein anderes Paar Augen kann dies erkennen. Ich habe den gleichen Insert-Stil für die anderen PHP-Dateien verwendet, funktioniert gut. Aber dieses ist knifflig ... issit wegen der Fremdschlüssel?php insert-Anweisung hat die richtigen Argumente, aber insert gibt false zurück
<?php
$quote = $_POST["quote"];
require "init.php";
$query = "INSERT INTO `quote`(`quote_description`) VALUES('".$quote."');";
$result = mysqli_query($con,$query);
//"INSERT INTO `quote`(`quote_description`) VALUES ('".$quote."');";
if($result)
{
$response = array();
$code = "submit_true";
$message = "Quote success, Click Ok to continue";
array_push($response,array("code"=>$code,"message"=>$message));
echo json_encode(array("server_response"=>$response));
}
else{
$response = array();
$code = "submit_false";
$message = "Sorry, some server error occurred, please try again";
array_push($response,array("code"=>$code,"message"=>$message));
echo json_encode(array("server_response"=>$response));
}
mysqli_close($con);
?>
Ich erhalte den folgenden Fehler nach Fehler zu überprüfen:
kann nicht hinzugefügt oder ein Kind Zeile aktualisieren: ein Fremdschlüssel fehlschlägt (mydb.quote, CONSTRAINT fk_quote_user FOREIGN KEY (user_id) LITERATUR user (user_id) ON LÖSCHEN KEINE AKTION BEI AKTUALISIERUNG KEINE AKTION)
Konsultieren Sie diese folgenden Links http://php.net/manual/en/mysqli.error.php und http://php.net/manual/en/function.error-reporting.php und wenden Sie diese an Ihre Code; Du machst das nicht. Außerdem gibt es ein paar Unbekannte hier; wenn das POST-Array einen Wert und die MySQL-API enthält, mit der eine Verbindung hergestellt wird. –
Wenn '$ quote' zum Beispiel ein Zitat' '' enthält, werden Sie sql selbst injizieren. Sie sollten stattdessen eine vorbereitete Anweisung verwenden. – jeroen
'$ con' ist undefiniert, oder? – Michael