Php ';成功'/';更新';消息取决于操作
我得到了我的sql查询: 哇,你说得对。以下是全部代码:Php ';成功'/';更新';消息取决于操作,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我得到了我的sql查询: 哇,你说得对。以下是全部代码: <?php //variables here // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error);
<?php
//variables here
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO Results (...)
VALUES (...)
ON DUPLICATE KEY UPDATE (...)";
if ($conn->query($sql) === TRUE) {
echo "Saved.";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
如何在插入数据时显示消息“Success”或在更新数据时显示消息“Update”?根据,您可以检测是否插入了行或修改了行:
在重复密钥更新时,如果发生以下情况,则每行受影响的行值为1
该行将作为新行插入,如果更新了现有行,则为2,并且
如果现有行设置为其当前值,则为0
我已经在PDO中成功地使用了它,但我不能确认它在msyqli中是否也能正常工作。不过我很肯定会的
因此,您必须检查$conn->infected_行的返回值
:
if ($conn->query($sql) === TRUE) {
if ($conn->affected_rows === 1) {
// new row inserted
} else {
// row found and possibly modified, you can filter for 0 or 2
// if you need more details.
}
} else {
...
MySQL不会向您显示任何消息,除了更改的行数。你在哪里问这个问题?@tadman,哇,你说得对。我更新了代码。啊,看起来好多了。美好的