不断收到此错误-不正确的整数值:第 1 行的列 'poi_id' 的'')[关闭]
Posted
技术标签:
【中文标题】不断收到此错误-不正确的整数值:第 1 行的列 \'poi_id\' 的\'\')[关闭]【英文标题】:Keep getting this error constantly- Incorrect integer value: '' for column 'poi_id' at row 1 ) [closed]不断收到此错误-不正确的整数值:第 1 行的列 'poi_id' 的'')[关闭] 【发布时间】:2018-12-25 15:55:38 【问题描述】:好的,所以我不断收到“不正确的整数值:'' for column 'poi_id' at row 1 )" 并且指定的变量不是AUTO_INCREMENT。这是我的代码:
<?php
header("Content-type: application/json");
$pi= $_POST["poi_ID"];
$rev= $_POST["review"];
$conn = new PDO("mysql:host=localhost;dbname=name;", "name","name");
$results = $conn->query("SELECT*FROM pointsofinterest");
$results= $conn -> query ("INSERT INTO poi_reviews(poi_id, review) VALUES
('$pi', '$rev')");
echo json_encode($resultsAsAssocArray) ;
print_r($conn->errorinfo());
?>
【问题讨论】:
这是哪个 RDBMS,mysql 还是 mssql?这里有 2 种不同的动物。 请阅读SQL Injection。 @FunkFortyNiner 我认为是前者 @marvinIsSacul 我也倾向于这样认为。 :) 但这让他们的问题不清楚,因为人们关注这些标签中的任何一个。 @FunkFortyNiner 是 mysql。但是标记了 MSSQL,在连接字符串中指定了 mysql。我假设 OP 认为问题与 sql 风格无关。 【参考方案1】:如果$poi_id
是整数,则不能在其周围加上撇号。
此外,您的代码不能保证 $pi
是一个整数值。尝试将 $pi
转换为 Integer 并插入它而不是原始 POST 数据。
【讨论】:
以上是关于不断收到此错误-不正确的整数值:第 1 行的列 'poi_id' 的'')[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
错误代码:1366。不正确的整数值:第 2 行的列“ReportsTo”的“NULL”
PDO PHP - PDOException - 数值超出范围:1264 第 1 行的列“customer_id”的值超出范围
错误 1366 (HY000):不正确的字符串值:第 1 行的列 'comment' 的 '\xF0\x9F\x98\x9C'