不断收到此错误-不正确的整数值:第 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'

TYPO3:SQL 错误:'不正确的整数值:'' 列 'sys_language_uid' 在第 1 行'

第 1 行的 CSV 输入中的列数无效错误

获取 DatabaseError [SequelizeDatabaseError],不正确的整数值