这是我的代码:
$datum=$_POST['datum'];
$mesto=$_POST['mesto'];
$ details应该是这样的
$detalis = "Datum rodjenja:" . $datum . "; Mesto rodjenja".$mesto;
然后我需要这样做:
$query="insert into table('1','2','3') values('$details','something1','something2')";
但它不起作用。它插入其他所有内容,但不会插入$ detalis。
答案 0 :(得分:3)
你必须使用反引号``而不是单引号作为列名。您不能将列名括在引号中。
使用mysql_real_escape_string转义$details
变量。
$details = mysql_real_escape_string($details);
$query="insert into table(`1`,`2`,`3`)
values('$details','something1','something2')";
答案 1 :(得分:1)
$detalis
不是$details
,列名用反引号而不是单引号分隔。而你忘了阻止SQL注入。并且您应该实现一些基本错误检测,以便您知道代码“无法正常工作”的原因。
$details = "Datum rodjenja:" . $datum . "; Mesto rodjenja" . $mesto;
// ^^^
$details = mysql_real_escape_string($details);
$query = "INSERT INTO `table` (`1`,`2`,`3`) VALUES('$details','something1','something2')";
// ^ ^ ^ ^ ^ ^ ^^^
$result = mysql_query($query) or die(mysql_error());
// ^ run query WITH ERROR CHECKING
答案 2 :(得分:0)
从列名中删除'(从列名中删除单引号)。
您无法将; 添加到详细信息字符串中,因为它是mysql的结束语句。
答案 3 :(得分:0)
在插入命令时尝试mysql_real_escape_string($details)
而不是$details
。
答案 4 :(得分:0)
为什么它不起作用?
你拼错了:$detalis
和$details
我认为应该是同一件事。
无需引用您的表格列。您还需要在查询中转义分号,例如:
$query="INSERT INTO table (1,2,3) VALUES ('".mysql_real_escape_string($details)."','something1','something2')";