PDO Prepared Statement和SQL LIKE多个值

我有一个搜索表单,用户可以搜索序列号或产品名称。

这是我的代码:

<?php
require_once "pdo_rothConn.php";

if (isset($_POST['searchText'])){

$sql = "SELECT m_ipdb, m_name FROM machine WHERE 'm_ipdb' LIKE :number OR 'm_name' LIKE :name";
$stmt = $dbh->prepare($sql);
$stmet->execute(array(
    ':number' => $_POST['searchText'],
    ':name' => $_POST['searchText']));

while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
 echo($row['m_ipdb']);
 echo($row['m_name']);
}
?>

<p>Search for a Machine</p>
 <form method="post">
 <table width="500" border="1">
 <tr>
  <td>Enter IPDB Number or Name:</td>
  <td><input name="searchText" type="text" id="searchText" /></td>
 </tr>
 <tr>
  <td colspan="2"><input type="submit" value="Search Database"></td>
  <td><a href="#">Cancel</a></p></td>
 </tr>
  </table>
  </form>
  </body>
  </html>

首先,是否有更简洁的方式可以编写我的SQL语句,因为我正在寻找的$ _POST值是相同的? 我不确定在我的SQL语句中是否也有多个LIKE语句出现错误。

截至目前,结果页面已经空白,根本没有工作。 我想将代码拆分成页面和处理页面,而不是后页面。 我卡住了。 但是,在我了解PDO并准备了语句并获得反馈以了解准备/参数化语句之前,我问了这个问题。 产生的代码是否也能正确防范SQL注入?

谢谢。


$ stmet->执行到$ stmt-> execute?

链接地址: http://www.djcxy.com/p/93773.html

上一篇: PDO Prepared Statement and SQL LIKE multiple values

下一篇: Are MySQLi Prepared Statements sufficient to prevent SQL injection?