1 回答
TA贡献1828条经验 获得超3个赞
我不应该回答这个问题,但我想帮助你。首先,如果您尚未启用错误报告,则必须启用。阅读如何在 MySQLi 中获取错误消息?. 我还建议切换到 PDO 而不是 mysqli,因为它更好更简单。
你的 PHP 和 SQL 有问题。
您似乎没有在任何地方连接到数据库。
您的代码没有使用准备好的语句,这使得它容易受到 SQL 注入的影响。
你可以
exit从你的代码中删除,它不会做任何事情的语法
LIKE是LIKE '%string%',没有=
一个很好的 mysqli 代码示例应该如下所示。
<?php
// report all errors. Check the error log or enable display errors in PHP config
error_reporting(E_ALL);
// Always enable mysqli error reporting
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db_conx = new mysqli('localhost', 'username', 'password', 'databaseName');
$db_conx->set_charset('utf8mb4'); // always set the charset
if (isset($_POST['str'])) {
$strid = '%'. $_POST['str'] .'%';
// prepare -> bind -> execute
$stmt = $db_conx->prepare("UPDATE notifications SET did_read=1 WHERE note LIKE ?");
$stmt->bind_param('s', $strid);
$stmt->execute();
echo 'did_read_ok';
}
- 1 回答
- 0 关注
- 172 浏览
添加回答
举报
