不能用引号连接字符串

时间:2014-03-18 07:44:55

标签: php oracle

大家晚上好,

很抱歉,如果我的问题显得很有问题,但我对我非常微不足道的问题感到困惑

在我的项目的一个页面中,我无法连接包含'signs

的字符串

此字符串无法连接:

$stidR = "INSERT INTO rec_ret_info VALUES('".$rrcode."', ".$modnum.", '".$sdate."', '".$venue."', ".$fac.", ".$date.", ".$sem.")";

但这可以:

$stidR = "INSERT INTO rec_ret_info VALUES(".$rrcode.", ".$modnum.", ".$sdate.", ".$venue.", ".$fac.", ".$date.", ".$sem.")";

显然,如果我删除'标志它有效。但我真的需要它们。我真的不知道问题出在哪里。如果你能指出我的话,我将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用预准备语句绑定变量吗?

使用PDO与Oracle建立连接 - More information!

<强>更新

PDO Prepared Statement作为示例。如果Oracle在这方面与MySql不同,那么您唯一需要更改的是查询结构。变量和执行的绑定将起作用:)

$queryString= "INSERT INTO tablename (ColumnName1,ColumnName2,ColumnName3,ColumnName4,ColumnName5,ColumnName6,ColumnName7) VALUES (?,?,?,?,?,?,?)";
$query = $db->prepare($queryString);
$query->bindValue(1, $variable1, PDO::PARAM_STR);
$query->bindValue(2, $variable2, PDO::PARAM_STR);
$query->bindValue(3, $variable3, PDO::PARAM_STR);
$query->bindValue(4, $variable4, PDO::PARAM_STR);
$query->bindValue(5, $variable5, PDO::PARAM_STR);
$query->bindValue(6, $variable6, PDO::PARAM_STR);
$query->bindValue(7, $variable7, PDO::PARAM_STR);

$query->execute(); 

答案 1 :(得分:0)

只需将您的陈述echo设为 echo $stidR ;并检查生成的sql,看看你做错了什么