Php 如何使用逗号添加值?

Php 如何使用逗号添加值?,php,mysql,database,Php,Mysql,Database,我需要在数据库中插入如下值:“aaaa,bbbb” 我正在使用此查询: INSERT INTO a (title) VALUES ('aaaa, bbbb'); 但在数据库中只保存aaaa。 为什么? 以下是脚本: $a = 'aaaa, bbbb'; $query = "INSERT INTO test (title) VALUES ('".$a."');"; $res = mysqli_query($db_con, $query) or die("fail: " . $q

我需要在数据库中插入如下值:“aaaa,bbbb”

我正在使用此查询:

INSERT INTO a (title) VALUES ('aaaa, bbbb');
但在数据库中只保存aaaa。 为什么?

以下是脚本:

   $a = 'aaaa, bbbb';
   $query = "INSERT INTO test (title) VALUES ('".$a."');";
   $res = mysqli_query($db_con, $query) or die("fail: " . $query . ' Error:' . mysqli_error());

SQL中没有任何错误

我要证明:

CREATE TABLE t (
 id int primary key auto_increment,
 title varchar(100) 
);

INSERT INTO t (title) VALUES('aaaaa, bbbbb'), ('ccccc, ddddd');
SELECT * FROM t;

id  title
1   aaaaa, bbbbb
2   ccccc, ddddd
仔细检查您的环境:如何获取值,是否有一些相关的触发器等


进行此类查询的正确方法是使用准备好的语句:

$query = "INSERT INTO a (title) VALUES (?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $a);
$stmt->execute();
或者,程序风格:

$query = "INSERT INTO a (title) VALUES (?)";
$stmt = mysqli_prepare($db_con, $query);
mysqli_stmt_bind_param($db_con, "s", $a);
mysqli_stmt_execute($stmt);
对我来说很好:

mysql> create table xrobot_test (
    -> title varchar(100)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> describe xrobot_test;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| title | varchar(100) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
1 row in set (0.00 sec)

mysql> INSERT INTO xrobot_test (title) VALUES ('aaaa, bbbb');
Query OK, 1 row affected (0.00 sec)

mysql> select * from xrobot_test;
+------------+
| title      |
+------------+
| aaaa, bbbb |
+------------+
1 row in set (0.00 sec)

你的
title
字段是什么类型?你的title字段类型和长度是什么?title是varchar(100)你是如何插入的?通过PHP?对于
$a
,您有
sql注入
,但是对于这个数据案例,一切都应该正常。