q-6ren">
gpt4 book ai didi

php - 为什么php向mysql数据库插入字符串变量时需要包含引号

转载 作者:行者123 更新时间:2023-11-29 08:25:08 25 4
gpt4 key购买 nike

$string = 'Loreum';
$insert = "INSERT INTO table (field1, field2 ) VALUES ($string , 7)";
$conn -> query($insert)

这将产生一个错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ashfjksaf' in 'field list'' in C:\xampp\htdocs\yipee.php:23 Stack trace: #0 C:\xampp\htdocs\yipee.php(23): PDO->query('INSERT INTO yea...') #1 {main} thrown in C:\xampp\htdocs\yipee.php on line 23

但是当我更改为

$insert = "INSERT INTO table (field1, field2 ) VALUES ('$string' , 7)";

它按预期工作。我想知道为什么我们需要在字符串变量中包含单引号。我以为我们只需要在文字字符串上包含引号。

最佳答案

这就是 MySQL 语法的工作原理。 PHP 只是为您构造查询。

PHP 将用 Loreum 替换 $string

所以 MySQL 查询将如下所示

INSERT INTO table (field1, field2 ) VALUES (Loreum , 7)

这是无效的语法。

因此需要添加引号。

关于php - 为什么php向mysql数据库插入字符串变量时需要包含引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com