douhaodang0403 2018-03-04 22:21
浏览 63
已采纳

尝试使用Php从数据库读取和创建表

I am trying to make it so that my code will check to see the number of tables the database has then increment it then add a table to the database, however, I get the following error? any help would be really appreciated.

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "jobs";

// Create connection
$link = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($link->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$result = mysqli_query($link, "show tables"); 
(int)$num = 0;
while($table = mysqli_fetch_array($result)) { 
  $num++;
    echo($table[0] . "<BR>");
}
$num += 1;
$sql = "CREATE TABLE {$num} (
  id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  firstname VARCHAR(30) NOT NULL,
  lastname VARCHAR(30) NOT NULL,
  email VARCHAR(50)
)";
if(!mysqli_query($link, $sql)){
  echo("Error description: " . mysqli_error($link));    }

OUTPUT Error

Error description: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '5 ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) N' at line 1

展开全部

  • 写回答

2条回答 默认 最新

  • dongxu1668 2018-03-04 22:27
    关注

    Enter a default table name followed by the num like this

     CREATE TABLE table{$num} (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      firstname VARCHAR(30) NOT NULL,
      lastname VARCHAR(30) NOT NULL,
      email VARCHAR(50)
      )";
    

    You cannot have number as your table name

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部