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条)

报告相同问题?

悬赏问题

  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi