php - MySQL Php语法错误,查看手册

标签 php mysql sql

我的代码遇到了问题,并且不断收到此错误。 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“[table_name]”附近使用的正确语法

我的代码如下:

 <?
//indicate the database you want
$db_name="test";

//connect to database
$connection = @mysql_connect("localhost","root","") or die (mysql_error());
$db = @mysql_select_db($db_name,$connection) or die (mysql_error());
//start the sql statement
$sql = @"CREATE TABLE $_POST[table_name] (";


for ($i =0;$i < count($_POST['field_name']);$i++){
    $sql .=$_POST['field_name'][$i]." ".$_POST['field_type'][$i];
    if ($_POST["field_length"][$i] !="") {
        $sql .= " (".$_POST ["field_length"][$i]."),";
    } else {
        $sql .= ",";
    }
}
//clean up
$sql = substr($sql,0,-1);
$sql .= ")";
//execute
$result = mysql_query($sql,$connection) or die(mysql_error());

//get a good message for success
if ($result) {
    $msg = "<P>".$_POST['table_name']." has been created!</p>";
    }
    ?>

我有一个单独的表格用于表名和字段数量,还有一个用于其他数据库内容的单独的 php 文档,每当我尝试在其他两个文档之后运行此文档时,它都会在本地主机上给我带来麻烦。

在回显 $sql 和 $_POST 的编辑语句后,我收到了消息,

"CREATE TABLE $_POST[table_name]"...$_POST[table_name]"您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在 '[table_name] 附近使用的正确语法]“...嘿 char (1))' 在第 1 行”

最佳答案

看起来 $_POST[table_name] 没有替换为查询尝试中的值

$sql = "CREATE TABLE ". $_POST['table_name']." (";

关于php - MySQL Php语法错误,查看手册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20396095/

相关文章:

php - 如何从woocommerce获取文章的库存数量?

php - 使用 PHP 和 mySQL 进行全文搜索 - 无法更改表

php - MySQL 多表链接

mysql - 创建组合键和外键之间的关系

sql - postgresql 将变量发送到函数,转换?

PHP远程调试: XDebug can't connect to JetBrains php Storm client

MySQL - 当总和小于 x 时选择

mysql_affect_rows是通过DDL还是DML完成的?

mysql - SQL按最大列排序和内连接多个表

javascript - 更改查询字符串而不重新加载/刷新