我有以下脚本在mysql数据库中创建表
$dbhost = 'localhost';
$dbuser = 'root';
$con = "mysql_connect($dbhost, $dbuser, '')";
$create=mysql_query("CREATE TABLE `$table_name` (ID int NOT NULL AUTO_INCREMENT KEY,high TEXT ,low TEXT ,Divergence TEXT ,Change_Percent TEXT ,Low_Price TEXT ,High_Price TEXT ,Low_Proximity TEXT ,Vol_Index TEXT ,Vol TEXT ,Purchase_Value TEXT)");
if (mysql_query($con,$create))
{
echo "Table created successfully";
}
else
{
echo "Error creating table: " . mysql_error($conn);
}
执行脚本会创建所需的表,但它也会出现以下错误
Warning: mysql_query() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\test\test.php on line 136
Error creating table:
现在根据我的意思,这意味着$ create返回“FALSE”,如果没有创建表,情况就是这样,但是在这种情况下表已经创建了,那么它是什么呢?以及如何阻止此错误?
答案 0 :(得分:1)
您正在运行$create
次查询两次。试试这个:
if ($create)
{
echo "Table created successfully";
}
答案 1 :(得分:1)
您为mysql_query()
提供了第二个参数,导致错误。另外,您在$con
中拼错了mysql_error()
。请改用此代码:
$dbhost = 'localhost';
$dbuser = 'root';
$con = mysql_connect($dbhost, $dbuser, ''); // error: string instead of function
$create=mysql_query("CREATE TABLE `$table_name` (ID int NOT NULL AUTO_INCREMENT KEY,high TEXT ,low TEXT ,Divergence TEXT ,Change_Percent TEXT ,Low_Price TEXT ,High_Price TEXT ,Low_Proximity TEXT ,Vol_Index TEXT ,Vol TEXT ,Purchase_Value TEXT)");
if ($create) // error: second mysql_query()
{
echo "Table created successfully";
}
else
{
echo "Error creating table: " . mysql_error($con); // error: misspelled con
}
答案 2 :(得分:0)
条件应该是
if ($create)
{
echo "Table created successfully";
}
你已经运行了查询
而你再次点击mysql_query($con,$create)
答案 3 :(得分:0)
您的连接不是连接,它是一个字符串:
$con = "mysql_connect($dbhost, $dbuser, '')";
尝试创建真正的连接:
$con = mysql_connect($dbhost, $dbuser, '');
您还在运行mysql_query
两次。第一个是没有连接参数。尝试运行一次。连接应该是第二个,而不是第一个参数:
$create = "CREATE TABLE ...";
if (mysql_query($create, $con)) {