作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果 Mysql 中的表 2 中不存在 ID,我将尝试从表 1 中删除。
在Phpmyadmin中使用sql查询时
DELETE t1 FROM db.table1 t1 LEFT JOIN db.table2 t2 ON t1.id = t2.id WHERE t2.id IS NULL
它可以完美地从 table1 中删除在 table2 中找不到的行!
但是,当在 PHP 中使用相同的 sql 时,
mysqli_query($connection,"DELETE t1 FROM db.table1 t1 LEFT JOIN db.table2 t2 ON t1.id = t2.id WHERE t2.id IS NULL") or die(mysqli_error($connection));
它抛出错误未选择数据库。我已经验证并且我的连接已使用主机、用户名和密码正确定义。
$connection = @mysqli_connect($host,$用户名,$password);
我认为 $connection 不是问题,因为在它之前/之后还有其他查询,它们都工作得很好!我做错了什么?
最佳答案
我终于成功了!我仍然无法理解为什么 PHP 查询失败。不管怎样,查询本身很简单,我从SO问题Delete all rows which has no id existing in another table复制而来。 。
我可以看出使用别名是有问题的,最后我使用了带有数据库的完整表名并且它工作得很好。我很确定可以使用别名,只是我不是这方面的专家!
mysqli_query($connection,"DELETE db.table1 FROM db.table1 LEFT JOIN db.table2 ON table1.id = table2.id WHERE table2.id IS NULL");
关于php - 使用PHP时Mysql "No Database selected"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40924316/
我是一名优秀的程序员,十分优秀!