php INSERT into变量名称为MySQL

时间:2017-07-01 12:37:12

标签: php mysql variables insert

一直在四处寻找论坛,发现类似问题,如MySQL INSERT INTO with PHP $variable。但它并没有完全解决我的问题。

我想为列使用变量,但是我的MySQL插入语句出错了

$columns = 'id, test';
$sql_store = "INSERT into test ('$columns') VALUES (NULL, 1)";
$sql = mysqli_query($db, $sql_store) or die(mysql_error());

您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以便在第1行''id,Storlek'附近使用正确的语法)VALUES(NULL,1)'在第1行

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

  

问题:您的$columns变量是字符串,但不是真的。

试试这个,

<强> PHP

$columns_array = array('id','test');
$columns = implode(",",$columns_array);
$sql_store = "INSERT into test (".$columns.") VALUES (NULL, 1)";
$sql = mysqli_query($db, $sql_store) or die(mysql_error());

答案 1 :(得分:0)

看起来你的SQL命令在变量替换之后看起来像

 INSERT into test ('id, Storlek') VALUES (NULL, 1)   /* wrong! */

需要这样说......

INSERT into test (id, Storlek) VALUES (NULL, 1)

或者也许这......

INSERT into test (`id`, `Storlek`) VALUES (NULL, 1)

所以摆脱围绕$columns变量的引号。

相关问题