首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP表单提交中的分号

问PHP表单提交中的分号
EN

Stack Overflow用户
提问于 2013-04-27 02:57:54
回答 1查看 1.4K关注 0票数 0

两个相关的问题应该是容易的,虽然我的搜索已经变成了空白。

  1. 我在PHP中有一个from。如果字段中有分号,而我在操作页中转储$_POST,则字段值在分号处被截断。我猜这与SQL注入安全性有关吧?但必须允许合法的分号。有什么设置可以让它通过吗?或者我需要逃避它,如果是的话,怎么逃?
  2. 要捕获实际的SQL注入,我不需要在一个查询中允许多个语句.例如"SELECT * FROM table;DROP“。是否有一个设置在PHP或MySQL中禁用此设置,但不停止合法分号?
EN

回答 1

Stack Overflow用户

发布于 2013-04-27 03:01:33

分号不会引起任何问题。

使用准备好的陈述。

在米斯里中

代码语言:javascript
复制
$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->bind_param('s', $name);

$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // do something with $row
}

在PDO中

代码语言:javascript
复制
$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');

$stmt->execute(array(':name' => $name));

foreach ($stmt as $row) {
    // do something with $row
}

使用mysql_real_escape_string

代码语言:javascript
复制
$unsafe_variable = $_POST["user-input"];
$safe_variable = mysql_real_escape_string($unsafe_variable);

mysql_query("INSERT INTO table (column) VALUES ('" . $safe_variable . "')");

请查看此问题以获得更多信息,如何防止PHP中的SQL注入?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16247860

复制
相关文章

相似问题

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