尝试使用php创建表时出错
我是php新手,我正在尝试使用mysql创建一个表。当我运行我编写的php代码时,它会说: Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /home/engelsmj/public_html/Table/CreateTable.php on line 16 Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/engelsmj/public_html/Table/CreateTable.php on line 23 Notice: Undefined variable: sql in /home/engelsmj/public_html/Table/CreateTable.php on line 25 Warning: mysqli_query(): Empty query in /home/engelsmj/public_html/Table/CreateTable.php on line 25 警告:mysqli_select_db()希望参数1是mysqli,第16行的/home/engelsmj/public_html/Table/CreateTable.php中给出的字符串 警告:mysqli_query()至少需要2个参数,1个参数在第23行的/home/engelsmj/public_html/Table/CreateTable.php中给出 注意:未定义的变量:第25行的/home/engelsmj/public_html/Table/CreateTable.php中的sql 警告:mysqli_query():第25行/home/engelsmj/public_html/Table/CreateTable.php中的空查询 创建表时出错: 我相信它正在连接mysql,但在实际创建表时出错。我已经对我的代码进行了多次检查,但我无法找出它有什么问题以及为什么它不能创建我的表。谢谢你在这方面的帮助尝试使用php创建表时出错,php,mysql,mysqli,Php,Mysql,Mysqli,我是php新手,我正在尝试使用mysql创建一个表。当我运行我编写的php代码时,它会说: Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /home/engelsmj/public_html/Table/CreateTable.php on line 16 Warning: mysqli_query() expects at least 2 parameters, 1 given in
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$con=mysqli_connect("*******","******","*******");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_select_db("*****", $con);
mysqli_query("CREATE TABLE Friends(
idNumber INT NOT NULL AUTO_INCREMENT,
Name varchar(30),
Phone varchar(30),
Age int,
PRIMARY KEY (idNumber))");
if (mysqli_query($con,$sql)) {
echo "Friends table created successfully";
} else {
echo "Error creating table: " . mysqli_error($con);
}
mysqli_close($con);
?>
您必须切换这些值:
//Wrong
mysqli_select_db("*****", $con);
//Right
mysqli_select_db($con, "*****");
至于查询,您必须添加$sql而不是mysqli_query,因为稍后在if语句中会这样做:
$sql = "CREATE TABLE Friends(
idNumber INT NOT NULL AUTO_INCREMENT,
Name varchar(30),
Phone varchar(30),
Age int,
PRIMARY KEY (idNumber))";
重新编写代码:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$con=mysqli_connect("*******","******","*******");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_select_db($con, "*****");
$sql = "CREATE TABLE Friends(
idNumber INT NOT NULL AUTO_INCREMENT,
Name varchar(30),
Phone varchar(30),
Age int,
PRIMARY KEY (idNumber))";
if (mysqli_query($con,$sql)) {
echo "Friends table created successfully";
} else {
echo "Error creating table: " . mysqli_error($con);
}
mysqli_close($con);
?>
如果(mysqli_query($con,$sql)){
在哪里定义了$sql
你已经在运行查询了,不管怎样只要做$con=mysqli_connect(“**********”、“*******”、“*******”、“dbname”);
然后去掉其他东西。就像在“一行”中一样。问题已解决;-)如果您真的想保留那个额外的代码,DB连接是第一位的。