我查看了十几个问题而没有任何帮助。有些人给出了相互矛盾的建议。
我有一个简单的INSERT INTO查询与PHP mysqli。查询和连接都正常,查询实际上在较旧版本的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');
因为每次重新加载它都会打印出#34;成功:我的名字&#34;,我想它会以某种方式执行。但是,没有保存数据。我无法弄明白。有什么帮助吗?
[ SOLUTION ] clan
表有一个外键(username
)到另一个没有条目的表,所以查询没有错,但是实际上很傻。感谢Deivison Francisco的回答,只需阅读错误就可以轻松确定问题的原因。
答案 0 :(得分:2)
请使用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));
}
答案 1 :(得分:2)
改变:
$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);