php - MySQLi 如何检查表是否存在?

标签 php mysqli

<分区>

如果没有这样的表,我想通过应用程序创建表。但是第一次做...需要一些帮助,不过

 //connecting...
$mysqli = new mysqli($db_params['host'], $db_params['login'],   $db_params['pass'], $db_params['name']);

if ($mysqli->query("SHOW TABLES LIKE `products`")){
echo ' YES';
} else echo 'no'; 

它总是说不。

最佳答案

阅读他们的文档? https://dev.mysql.com/doc/refman/5.5/en/replication-features-create-if-not-exists.html看起来你可以很容易地做到这一点:

CREATE TABLE IF NOT EXISTS `products`

这样你就不必先检查一个表是否存在,如果不存在你就创建一个。

而且您似乎有语法错误,这可能是您的代码不断返回“否”的原因。这应该有效:

SHOW TABLES LIKE 'products';

只需使用单引号或双引号,不要使用 ` 之类的反引号。

您对表名和列名使用反引号 (`),对字符串使用单引号 (') 或双引号 ("),在在这种情况下,您给出的是一个字符串,因此您应该使用单引号或双引号。

关于php - MySQLi 如何检查表是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38012900/

相关文章:

php - 如何独立使用单个 Zend Framework 组件,如 XML-RPC 或 REST?

php - 如何在 php 变量中转义撇号以进行选择查询

php - 机器人提交表单的方式与使用浏览器的方式不同吗?

php - 您如何使用脚本语言(PHP、Python 等)来提高您的生产力?

php - 如何编辑此 mySQL 以便将相同 id 的行合并为 1 而不是 3?

php - mysqli_free_result() 期望参数 1 为 mysqli_result,null 给定

php - 带有 ADDTIME CURTIME 的 mysqli 准备语句失败

php - 在 PHP 中计算行数时得到错误的数字

php - 在数据库中获取结果的推荐方法 [OOP-PHP & MySQLi]

PHP 和 MYSQL fatal error : Call to a member function fetch_assoc() on boolean