为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL检查表是否存在而不会引发异常

MySQL检查表是否存在而不会引发异常

鸿蒙传说 2019-10-17 14:11:32
检查表是否存在于MySQL中(最好通过PHP中的PDO)而不抛出异常的最佳方法是什么。我不喜欢解析“ SHOW TABLES LIKE”等的结果。必须有某种布尔查询吗?
查看完整描述

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

我不知道它的PDO语法,但这看起来很简单:


$result = mysql_query("SHOW TABLES LIKE 'myTable'");

$tableExists = mysql_num_rows($result) > 0;


查看完整回答
反对 回复 2019-10-17
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

使用mysqli,我创建了以下功能。假设您有一个名为$ con的mysqli实例。


function table_exist($table){

    global $con;

    $table = $con->real_escape_string($table);

    $sql = "show tables like '".$table."'";

    $res = $con->query($sql);

    return ($res->num_rows > 0);

}

希望能帮助到你。


警告: @jcaron认为此函数可能易受sqlinjection附件的攻击,因此请确保您的$tablevar是干净的,甚至更好地使用参数化查询。


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信