php mysql 使用变量插入语句
php mysql insert statement using variables
我的 php 抛出错误的代码如下:
$stmt = $con->prepare('INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')') ;
我看过其他帖子,似乎我正确地使用了带有单引号的变量,但是在访问 URL:
时显示以下错误
Parse error: syntax error, unexpected T_VARIABLE in /home/gbidjght/public_html
/insertRide.php on line 79
感谢任何帮助
您不能将 mysql '
放入 php '
使用这个
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')") ;
将外引号改为双引号
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')") ;
因为 '
s 错误来了。添加 "
而不是 '
。试试这个 -
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES ('$address', '$time')") ;
$stmt = $con->prepare("INSERT INTO `listOfRides` (`address`, `time`)
VALUES
($address, $time)") ;
如果您转义了单引号,您最终会在数据库中插入字符串文字“$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));
我的 php 抛出错误的代码如下:
$stmt = $con->prepare('INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')') ;
我看过其他帖子,似乎我正确地使用了带有单引号的变量,但是在访问 URL:
时显示以下错误Parse error: syntax error, unexpected T_VARIABLE in /home/gbidjght/public_html
/insertRide.php on line 79
感谢任何帮助
您不能将 mysql '
放入 php '
使用这个
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')") ;
将外引号改为双引号
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES
('$address', '$time')") ;
因为 '
s 错误来了。添加 "
而不是 '
。试试这个 -
$stmt = $con->prepare("INSERT INTO listOfRides (address, time) VALUES ('$address', '$time')") ;
$stmt = $con->prepare("INSERT INTO `listOfRides` (`address`, `time`)
VALUES
($address, $time)") ;
如果您转义了单引号,您最终会在数据库中插入字符串文字“$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));