Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用php创建表时出错_Php_Mysql_Mysqli - Fatal编程技术网

尝试使用php创建表时出错

尝试使用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新手,我正在尝试使用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
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连接是第一位的。