gpt4 book ai didi

php - mysqli 为 INSERT 查询返回 true,未插入行

转载 作者:行者123 更新时间:2023-11-29 06:55:52 25 4
gpt4 key购买 nike

 if ($word != '' && $text != '') {
$result = $conn->query("SELECT * FROM variables WHERE `word` = '$word'");
if ($source = $result->fetch_assoc()) {
$conn->query("UPDATE variables SET `text` = '$text' WHERE `word` = '$word'");
echo 0;
} else {
if ($result = $conn->query("INSERT INTO variables (`word`, `text`) VALUES ('$word', '$text')"))
echo 1;
}
}

上面是 INSERT 代码(和更新)UPDATE 代码工作正常,但是当调用 INSERT 查询时,查询返回 true 但是当我检查数据时,它没有被插入.

感谢任何帮助,提前致谢。

编辑:

变量表结构:

`word` varchar(100) NOT NULL, //also PRIMARY KEY
`text` text NOT NULL

最佳答案

您在 if 条件中有一个 =

也许你想要:

if ($result->num_rows){ // see if there are any rows
$conn->query("UPDATE variables SET `text` = '$text' WHERE `word` = '$word'");
echo 0;
} else {
$conn->query("INSERT INTO variables (`word`, `text`) VALUES ('$word', '$text')");
echo 1;
}

测试:

$conn = new mysqli('localhost', 'root', '', 'test');
$word = 'word1';
$text = 'text1';

$result = $conn->query("SELECT * FROM variables WHERE `word` = '$word'");
if ($result->num_rows){
$conn->query("UPDATE variables SET `text` = '$text' WHERE `word` = '$word'");
echo 0;
} else {
$conn->query("INSERT INTO variables (`word`, `text`) VALUES ('$word', '$text')");
echo 1;
}

关于php - mysqli 为 INSERT 查询返回 true,未插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12744953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com