php - PHP mysqli_prepare 不支持锁语句?
问题描述
我试图锁定整张桌子。
使用以下代码:问题:if 语句从不打印 true,如果我使用 $sql 更改为其他一些 select 语句,它可以工作
$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
$sql = "lock table tableA write";
if($stmt = mysqli_prepare($link, $sql))
echo "true";
*也用于测试,我的 php 中没有其他代码。我也检查了用户,有
GRANT SELECT, INSERT, UPDATE, LOCK TABLES ON *.* TO 'user'@'localhost'
我想不通...而且我对使用 PHP 的 mysql 也是新手.. 任何帮助将不胜感激
编辑:添加后 mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
它显示错误消息:
PHP 致命错误:未捕获的 mysqli_sql_exception:/var/www/html/x.php:27 中的准备好的语句协议尚不支持此命令堆栈跟踪:#0 /var/www/html/x.php(27): mysqli_prepare(Object(mysqli), 'lock table tableA...') #1 {main} 在第 27 行的 /var/www/html/x.php 中抛出
我找到了解决方案..您可以直接使用 mysqli_query(..) 调用它,因为 mysqli_prepare 不支持锁定。
if(mysqli_query($link,$sql)){
echo "true";
}
解决方案
推荐阅读
- python - '继续''for'循环到前一个元素
- java - 为自定义组合框创建侦听器逻辑
- angular - 无法绑定到属性,因为它不是组件的已知属性
- node.js - 使用 node.js 的 fluent-ffmpeg 库无法从 VP8 转码到 H264
- python-3.x - 如何在段落之间放置文本python / selenium上的标签?
- python - 尝试使用 python 解析每个表数据时出现 SQLITE 错误
- flutter - 从url获取文件路径
- javascript - 多次循环API调用得到随机结果
- vue.js - vuetify 如何将内容设置为选项卡 v-tabs-items
- r - 为什么这个 for 循环代码和 apply() 一样快?