Gre*_*egH 0 php mysql sql-insert
我抛出错误的PHP代码如下:
$stmt = $con->prepare('INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')') ;
Run Code Online (Sandbox Code Playgroud)
我查看过其他帖子,看起来我正确使用变量和单引号,但访问URL时会显示以下错误:
Parse error: syntax error, unexpected T_VARIABLE in /home/gbidjght/public_html
/insertRide.php on line 79
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏
如果您通过单引号转义,最终会将字符串文字"$ address"和"$ time"插入到您的数据库中:
$stmt = $con->prepare('INSERT INTO listOfRides (address, time) VALUES (\'$address\', \'$time\')');
Run Code Online (Sandbox Code Playgroud)
但是假设它们应该是变量,你应该在SQL语句周围使用双引号,以允许PHP实际解析变量作为它们的值:
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES ('$address', '$time')");
Run Code Online (Sandbox Code Playgroud)
话虽这么说,既然你已经在准备你的陈述,为什么不只是使用占位符呢?它将是一种更安全的防止SQL注入的方法.
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES (?, ?)");
$stmt->execute(array($address, $time));
Run Code Online (Sandbox Code Playgroud)