我想从一个简单的形式向PostgreSQL数据库发送数据,但我的服务器日志中显示的代码有问题的部分错误Query failed: ERROR: invalid input syntax for integer
是:无效的输入语法时提交表单
形式:
<form action="insert.php" method="post">
[removed]
Total Pages: <input type="number" name="totalPages" id="totalpages"><br><br>
<input type="submit"> </form>
线在insert.php错误消息指出:
pg_query("INSERT INTO books(coverurl, title, author, genre, totalpg)
VALUES('".$_POST['coverURL']."','".$_POST['title']."','".$_POST['author']."','".$_POST['genre']."','".$_POST['totalpages']."')");
环顾四周网上,我发现解决方案提不正确使用的'
一nd "
符号,但这只会导致其他语法错误。
编辑:没有提到totalpg
在我的数据库是一个SMALLINT
SOLUTION: 谢谢JoDev为此,改变'".$_POST['totalpages']."'
到".intval($_POST['totalPages'])."
现在它完美的作品。
如果您对该[PDO](http://php.net/pdo)考虑使用替代,不只有你可以摆脱这个和其他许多类似的问题,但是你现在不会有与你的应用程序有关的巨大安全问题。 – rid 2013-03-26 13:15:21
或使用[pg_escape_string](http://php.net/manual/en/function.pg-escape-string.php) – 2013-03-26 13:16:12
您输入的任何值是否出错? – 2013-03-26 13:18:32