首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDO用户输入MWE

PDO用户输入MWE
EN

Stack Overflow用户
提问于 2016-02-16 06:53:47
回答 1查看 30关注 0票数 0

我最近正在尝试学习PDO在我的数据库连接中的使用,因为我知道这是最“未来的证明”。然而,在让我的最小工作示例正常工作时,我遇到了一个问题。打开提交我得到两个42000的错误。报告的错误在同一行($stmt = $db->prepare("INSERT INTO fieldsql ('fieldsql') VALUES (:table_test )“););),但我尝试了不同的变体,我认为它可能在这一行,但没有成功。我已删除我的用户名和密码详细信息。

谢谢!

代码语言:javascript
复制
<html>
<body>
<form method="post">
<table class="dd" width="100%" id="data">
    <td>Field</td>
    <td>:</td>
    <td width="17%"><input type='textarea' name='field'/></td>
</table>
<input name='submit' type='submit'  value='submit'/>
</form>
<?php
$db = new PDO('mysql:dbname=table_name;host=localhost', 'user', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

if(isset($_POST['submit']))
    {
    $field = $_POST['field'];

$stmt = $db->prepare("INSERT INTO table_test ('fieldsql') VALUES (:field)");
$stmt->execute( array('fieldsql' => $field) );
    }
    $link = null;

?>
</body>
</html>

对于完整性,错误是:致命错误:未捕获异常'PDOException‘,并显示消息'SQLSTATE42000:语法错误或访问冲突: 1064您的SQL语法中存在错误;请查看与您的MySQL服务器版本对应的手册,了解要使用的正确语法(’fieldsql‘)值(?)’在第20行的C:\wamp\www\sqlinject.php中的第1‘行

PDOException: SQLSTATE42000:语法错误或访问冲突: 1064您的SQL语法中有一个错误;请查看与您的MySQL服务器版本相对应的手册,以获取正确的语法以使用接近''fieldsql')的值(?)‘在C:\wamp\www\sqlinject.php的第1行第20行

EN

回答 1

Stack Overflow用户

发布于 2016-02-16 06:56:16

这一点:

代码语言:javascript
复制
$stmt = $db->prepare("INSERT INTO `table_test`(`fieldsql`) VALUES(:field)");
$stmt->execute( array(':field' => $field) );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35420612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档