一直在四处寻找论坛,发现类似问题,如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行
感谢您的帮助!
答案 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
变量的引号。