Php 如何插入这篇完整的文章?
这一行:Php 如何插入这篇完整的文章?,php,sql,pivot,mariadb,Php,Sql,Pivot,Mariadb,这一行: $xx_val = (string) $xx; 生成以下输出: string(16) "XYZ1" string(11) "XYZ2" string(12) "XZY1" string(19) "XZY2" string(34) "8997451" 当我将其插入数据库时: $xx_val = (string) $xx; $sql = "INSERT INTO attributes (article) VALUES ($xx_val)";
$xx_val = (string) $xx;
生成以下输出:
string(16) "XYZ1"
string(11) "XYZ2"
string(12) "XZY1"
string(19) "XZY2"
string(34) "8997451"
当我将其插入数据库时:
$xx_val = (string) $xx;
$sql = "INSERT INTO attributes (article) VALUES ($xx_val)";
if ($conn->query($sql) === TRUE) {
echo "\n\n### DONE ###\n\n";}
else {
echo "\n\n### ERROR ###" . $sql . "\n" . $conn->error . "\n\n";}
+-----+-----------+------------+--------+----------+-----------+-------------+
| id | article | attr1 | attr2 | attr3 | attr4 | attr5 |
+-----+-----------+------------+--------+----------+-----------+-------------+
| 001 | XYZ1 | NULL | NULL | NULL | NULL | NULL |
| 002 | XYZ2 | NULL | NULL | NULL | NULL | NULL |
| 003 | XZY1 | NULL | NULL | NULL | NULL | NULL |
| 004 | XZY2 | NULL | NULL | NULL | NULL | NULL |
| 005 | 8997451 | NULL | NULL | NULL | NULL | NULL |
+-----+-----------+------------+--------+----------+-----------+-------------+
但我希望将所有属性都放在一行中:
+-----+-----------+------------+--------+----------+-----------+-------------+
| id | article | attr1 | attr2 | attr3 | attr4 | attr5 |
+-----+-----------+------------+--------+----------+-----------+-------------+
| 001 | 1 | XYZ1 | XYZ2 | XZY1 | XZY2 | 8997451 |
+-----+-----------+------------+--------+----------+-----------+-------------+
我很确定我的“插入”是错误的,但我不知道如何修复它。您忘记了字符串值周围的QOUTS,如下所示:
INSERT INTO attributes (article, attr1, attr2, attr3, attr4, attr5)
VALUES ('$xx_val', '$xx_val', '$xx_val', '$xx_val', '$xx_val', '$xx_val')
您忘记了字符串值周围的QOUTS,如下所示:
INSERT INTO attributes (article, attr1, attr2, attr3, attr4, attr5)
VALUES ('$xx_val', '$xx_val', '$xx_val', '$xx_val', '$xx_val', '$xx_val')
您必须更新SQL查询,它应该如下所示:
$sql = "
INSERT INTO attributes (article , attr1, attr2, attr3, attr4 , attr5)
VALUES ('$article', '$attr1', '$attr2', '$attr3', '$attr4', '$attr5')
";
$result = $conn->query($sql);
现在您必须有包含适当值的变量$article、$attr1、$attr2、$attr3、$attr4、$attr5
当您执行
$xx_val=(字符串)$xx
请不要忘记验证和转义实际值,以防止SQL注入
您必须更新SQL查询,它应该如下所示:
$sql = "
INSERT INTO attributes (article , attr1, attr2, attr3, attr4 , attr5)
VALUES ('$article', '$attr1', '$attr2', '$attr3', '$attr4', '$attr5')
";
$result = $conn->query($sql);
现在您必须有包含适当值的变量$article、$attr1、$attr2、$attr3、$attr4、$attr5
当您执行
$xx_val=(字符串)$xx
请不要忘记验证和转义实际值,目的是防止SQL注入您只在文章中插入您的值,尝试添加其他列。此外,在$SQL
中添加一个结束符“
。首先,感谢您的帮助:)1.添加了”
@kerbholz 2$sql=“插入属性(文章,属性1)值($xx\u val,$xx\u val)
当我这样做时,我会遇到一个错误:您的SQL语法有一个错误;请检查与您的MariaDB服务器版本对应的手册,以了解在第1行“XYZ1”附近使用的正确语法。请更新您的问题,以包括所有相关的代码和信息。将代码放在注释中会使阅读变得困难。@MagnusEriksson标记了正确的答案并编辑了标题,希望现在没问题您只在文章中插入您的值,尝试添加其他列。另外,在您的$sql
中添加一个结束语“
。首先,谢谢你的帮助。添加了“
@kerbholz 2.$sql=“插入属性(文章,属性1)值($xx_val,$xx_val)代码>当我这样做时,我得到一个错误:您的SQL语法中有一个错误;检查与您的MariaDB服务器版本对应的手册,以了解在第1行“XYZ1”附近使用的正确语法。请更新您的问题,以包括所有相关代码和信息。将代码放在注释中会使阅读变得困难。@MagnusEriksson标记了正确的答案并编辑了标题,希望现在可以了