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

检查表是否存在于MySQL中(最好通过PHP中的PDO)而不抛出异常的最佳方法是什么。我不喜欢解析“ SHOW TABLES LIKE”等的结果。必须有某种布尔查询吗?



鸿蒙传说
浏览 547回答 3
3回答

狐的传说

我不知道它的PDO语法,但这看起来很简单:$result = mysql_query("SHOW TABLES LIKE 'myTable'");$tableExists = mysql_num_rows($result) > 0;

缥缈止盈

使用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是干净的,甚至更好地使用参数化查询。
打开App,查看更多内容
随时随地看视频慕课网APP