关于 php:SQLSTATE[42S22]: Column not found: 1054 Unknown column \’$Values\’ in \’field list\’\’
SQLSTATE[42S22]: Column not found: 1054 Unknown column '$Valuess' in 'field list''
错误是 SQLSTATE[42S22]: Column not found: 1054 Unknown column '$Values' in 'field list'' in try2.php:31。我如何正确输入插入语句
相关讨论
- 将插入查询放在双引号 (") 中
- 可能重复:stackoverflow.com/questions/34630140/…
- @DonCallisto 没有正确答案
- @gaurav 使用双引号 " 传递变量。此外,请考虑使用准备好的语句(否则您将面临 SQL 注入的风险)。
- 双引号后的@Qirel 错误 SQLSTATE[42000]:语法错误或访问冲突:
- echo"INSERT INTO register ($Keys) VALUES ($Valuess)"; 产生什么? (可能是您的变量产生了无效的查询)
只需使用"
中的字符串
|
1
|
$dbh->prepare("INSERT INTO register ($Keys) VALUES ($Valuess)")
|
因为在 '' 变量内部的行为类似于字符串,但在" 变量内部获取值。
也改变
|
1
|
$Valuess ="'".implode("','", $Valuess)."'" ;
|
值必须用逗号分隔,例如 'gaurav','sundaram'
相关讨论
- 新错误 SQLSTATE[42000]:语法错误或访问冲突:
- 你是对的,但也需要这个`$keys = implode(",", Keys);`
改用 bindParam - PHP 文档中的一个示例:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)"); $stmt->bindParam(':name', $name); $stmt->bindParam(':value', $value); // insert one row // insert another row with different values |
相关讨论
- 出于安全考虑,最好使用数组或 BindParam
以上是关于 php:SQLSTATE[42S22]: Column not found: 1054 Unknown column \’$Values\’ in \’field list\’\’的全部内容。
THE END
二维码