簡體   English   中英

PHP mysqli INSERT不執行任何操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM