[英]PHP mysqli INSERT does nothing
我看着十幾個問題,沒有任何幫助。 有些人提出了相互矛盾的建議。
我有一個使用PHP mysqli的簡單INSERT INTO查詢。 查詢和連接都可以,並且查詢實際上在舊版本的xampp上執行。 但是,當我切換到較新的版本時,什么都沒有! 沒有錯誤,但是也沒有新數據。
<?php
$connection = mysqli_connect("localhost", "standard_user", "standard", "liquidity");
if (!$connection) {
die("Error: ".mysqli_connect_errno());
}
$table = "clan";
$username = "someusername";
$ime = "My name";
$query = "INSERT INTO ";
$query.=$table;
$query.=" (username, ime) ";
$query.="VALUES ('".$username."','".$ime."');";
//$query = "INSERT INTO clan (username, ime) VALUES ('someusername', 'My name')";
mysqli_query($connection, $query);
if ($query) {
echo("Success: ".$ime);
} else {
echo("There has been an error. Try again.");
}
mysqli_close($connection);
?>
這是我嘗試時回顯的查詢: INSERT INTO clan (username, ime) VALUES ('someusername','My name');
由於每次我重新加載時都會打印“成功:我的名字”,所以我猜它會以某種方式執行。 但是,沒有數據被保存。 我不知道。 有什么幫助嗎?
[ 解決方案 ] clan
表具有另一個表的外鍵( username
),該表沒有任何條目,因此查詢沒有任何問題,但實際上是一個愚蠢的忽略。 感謝Deivison Francisco的回答,通過簡單地讀取錯誤即可輕松確定問題的原因。
請使用mysqli_query()的返回值確定結果。
還考慮使用准備好的語句來減輕SQL注入。
$result = mysqli_query($connection, $query);
if ($result) {
echo("Success: ".$ime);
} else {
echo("There has been an error. Try again. Error message: ".mysqli_error($connection));
}
更改為:
$query = "INSERT INTO clan (username, ime) VALUES ('someusername', 'My name')";
$return = mysqli_query($connection, $query);
if ($return) {
echo("Success: ".$ime);
} else {
echo("There has been an error. Try again.");
}
mysqli_close($connection);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.