php mysql, mysql_query() expects parameter 2 to be resource

2024-11-06 07:51:24
推荐回答(2个)
回答1:

变量作用域的问题。

$conn在function中的时候是局部变量,且未定义,所以会报那个错误。
可以这样写
$conn = mysql_connect('localhost','root','f3r5tqfp')or die('Could not connect ' .mysql_error());
echo 'Connected successfully';
function createDB($db,$conn)
if (mysql_query("create database $db",$conn))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}
}
createDB('my_db',$conn);
?>

Ps: 如果db是外界传递过来的名字,建议进入function后执行sql之前 对$db做下check,防止这里注入

回答2:

确认下出错原因:
if (mysql_query("create database $db",$conn)),这一句,将这里的$db直接换成常量,执行一下。应该是$db变量的使用问题。