检查表是否存在于MySQL中(最好通过PHP中的PDO)而不抛出异常的最佳方法是什么。我不喜欢解析“ SHOW TABLES LIKE”等的结果。必须有某种布尔查询吗?
3 回答
狐的传说
TA贡献1804条经验 获得超3个赞
我不知道它的PDO语法,但这看起来很简单:
$result = mysql_query("SHOW TABLES LIKE 'myTable'");
$tableExists = mysql_num_rows($result) > 0;
缥缈止盈
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是干净的,甚至更好地使用参数化查询。
添加回答
举报
0/150
提交
取消