PHP创建了mysql表,但也给出了;“未创建表格”;错误
我使用以下脚本在mysql数据库中创建表PHP创建了mysql表,但也给出了;“未创建表格”;错误,php,mysql,sql,Php,Mysql,Sql,我使用以下脚本在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
$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”,如果表未创建,则会出现这种情况,但是在这种情况下,表已创建,那么是什么使其成为布尔值呢?我怎样才能阻止这个错误???条件应该是
if ($create)
{
echo "Table created successfully";
}
您已经运行了查询
您再次使用了
mysql\u查询($con,$create)
您的连接不是一个连接,而是一个字符串:
$con = "mysql_connect($dbhost, $dbuser, '')";
请尝试创建真正的连接:
$con = mysql_connect($dbhost, $dbuser, '');
您还运行了两次mysql\u查询。第一个没有连接参数。试着运行一次。连接应该是第二个参数,而不是第一个参数:
$create = "CREATE TABLE ...";
if (mysql_query($create, $con)) {
您正在运行两次$create
查询。试试这个:
if ($create)
{
echo "Table created successfully";
}
您为mysql\u query()
提供了第二个参数,这会导致错误。另外,您在mysql\u error()
中拼错了$con
。请改用此代码:
$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
}
$con=“mysql\u connect($dbhost,$dbuser,”)
正在分配$con
字符串mysql\u connect(…)
@Gumbo Yes,这是一个需要重新校准的字符串,因为最初我会得到一个错误,说mysql\u query()希望参数1是字符串,资源是在我将其改为字符串时提供的。好的,谢谢大家,所有问题最终都解决了,正如大多数答案中所述,我在$create
中运行了两次create命令,一次在if(mysql\u query($con,$create))
中运行了一次,您没有向mysql\u query
提供第二个参数。在这种情况下,PHP将使用mysql。默认\u host
而不是$dbhost
。当我创建$create字符串时,我得到一个错误,说期望参数是resource,string gived
,同样的错误是$con给出一个错误,说期望参数是string,resource gived
,谢谢,修复了它!