我的PHP代码抛出错误如下:
$stmt = $con->prepare('INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')') ;
我查看了其他帖子,似乎我正确使用变量并使用单引号,但访问网址时显示以下错误:
Parse error: syntax error, unexpected T_VARIABLE in /home/gbidjght/public_html
/insertRide.php on line 79
感谢任何帮助
答案 0 :(得分:5)
如果您使用单引号转义,最终会将字符串文字“$ address”和“$ time”插入到您的数据库中:
$stmt = $con->prepare('INSERT INTO listOfRides (address, time) VALUES (\'$address\', \'$time\')');
但是假设它们应该是变量,你应该在SQL语句周围使用双引号,以允许PHP实际解析变量作为它们的值:
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES ('$address', '$time')");
话虽如此,既然你已经准备好了你的陈述,为什么不使用占位符呢?这将是一种更安全的防止SQL注入的方法。
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES (?, ?)");
$stmt->execute(array($address, $time));
答案 1 :(得分:4)
将外引号更改为双引号
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')") ;
答案 2 :(得分:2)
你不能把mysql '
放在php '
使用此
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')") ;
答案 3 :(得分:2)
由于'
s错误即将来临。添加"
代替'
。试试这个 -
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES ('$address', '$time')") ;
答案 4 :(得分:2)
$stmt = $con->prepare("INSERT INTO `listOfRides` (`address`, `time`)
VALUES
($address, $time)") ;