2016-07-19 43 views
2

我需要在数据库中插入这样的值:'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()); 
+0

什么类型是你的'title'场? –

+1

什么是你的标题字段类型和长度? – Rupal

+0

title is varchar(100) – xRobot

回答

4

没有什么错在你的SQL。

我做SQLFiddle证明:

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(); 

或者,程序式样式E:我

$query = "INSERT INTO a (title) VALUES (?)"; 
$stmt = mysqli_prepare($db_con, $query); 
mysqli_stmt_bind_param($db_con, "s", $a); 
mysqli_stmt_execute($stmt); 
3

正常工作:

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)