douhaodang0403 2018-03-05 06: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-05 06: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条)

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名