Php 未找到转义mysql表

Php 未找到转义mysql表,php,mysql,Php,Mysql,我有一个脚本,它连续连接到数据库,然后以循环方式截断表。如果未找到表,脚本将中断。我如何逃避这个问题,使它运行到底 while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $username =$row['user_name']; $url=$row['url']; //$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_err

我有一个脚本,它连续连接到数据库,然后以循环方式截断表。如果未找到表,脚本将中断。我如何逃避这个问题,使它运行到底

while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
 $username =$row['user_name'];
 $url=$row['url'];
 //$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());
 $db = mysql_select_db("ghcomm") ;

mysql_query ("TRUNCATE settings") or die("error settings". mysql_error()); 
}
换衣服

or die("error settings". mysql_error()); 


如果SQL中存在
,请使用

只需替换最后一句话:

mysql_query ("TRUNCATE settings") or die("error settings". mysql_error()); 
与:

mysql_query ("TRUNCATE settings IF EXISTS settings") or die("error settings". mysql_error()); 
这样您就不会触发
模具(“错误设置…”)
零件


希望这有帮助

您必须使用您创建的新连接。否则,将始终使用环路外部的连接:

$db = mysql_select_db("ghcomm", $conn);
mysql_query ("TRUNCATE settings IF EXISTS settings", $conn) or die("error settings". mysql_error($conn)); 

在截断表之前检查表是否存在,或者不要在“错误设置”中使用
die()
,只需
continue
。不相关,但需要将mysql\u连接置于循环之外。一次又一次地连接到同一个数据库会对性能造成巨大的影响。此外,mysql_*函数已经被弃用,取而代之的是mysqli,或者更好的PDO抽象层。你真的需要在while()循环中使用mysql_connect()或mysql_select_db()?!如果没有,最好删除它,因为你在浪费宝贵的资源。这段代码太乱了。填写$username,但使用$dbuser。不使用$conn。在循环之外还必须有另一个mysql\u连接。。。这对我来说毫无意义。谢谢托尼。查看mysqliFalse,如果没有指定连接句柄,mysql_*()调用将自动使用上次建立的连接。
$db = mysql_select_db("ghcomm", $conn);
mysql_query ("TRUNCATE settings IF EXISTS settings", $conn) or die("error settings". mysql_error($conn));