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标记了正确的答案并编辑了标题,希望现在可以了