1
搜索劇本我已經花了相當多的時間來研究如何做到這一點,但只是無法得到它的工作:(使用PHP創建PDO
我有一個簡單的「聯繫人」 MySQL數據庫設置與包含幾個記錄表(id
,first_name
,last_name
,email
)。
我想允許用戶選擇自己的搜索字詞,即搜索「first_name
」列特定的名稱,或搜索「last_name
」列等
我有一個簡單的HTML表單,s將用戶數據結尾到腳本。
無論如何,我的PHP腳本如下所示。當我運行PHP腳本時,我沒有收到任何錯誤......只是我沒有得到任何東西......沒有任何反應。
我將不勝感激任何幫助,您可以提供。
<?php
try{
$conn = new PDO('mysql:host=localhost; dbname=mydbname', 'user', 'pass');
}catch (PDOException $e){
echo "Cannot connect to database";
exit;
}
$sql = 'SELECT first_name, last_name, email FROM mycontacts WHERE :searchtype LIKE :searchterm';
$searchtype = '%'. $_POST['searchtype'] .'%';
$searchterm = '%'. $_POST['searchterm'] .'%';
$stmt = $conn->prepare($sql);
$stmt->bindParam(':searchtype', $searchtype, PDO::PARAM_STR);
$stmt->bindParam(':searchterm', $searchterm, PDO::PARAM_STR);
$stmt->bindColumn(1, $first_name);
$stmt->bindColumn(2, $last_name);
$stmt->bindColumn(3, $email);
$stmt->execute();
$numRows = $stmt->rowCount();
echo "<p>Number of rows:".$numRows."</p>";
if (isset($numRows)) { ?>
<table>
<tr>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
<th scope="col">Email</th>
</tr>
<?php while ($stmt->fetch()) { ?>
<tr>
<td><?php echo $first_name; ?></td>
<td><?php echo $last_name; ?></td>
<td><?php echo $email; ?></td>
</tr>
<?php } ?>
</table>
<?php } ?>
嗨你的常識,非常感謝!我已經實施了你的建議,它的工作原理,不用擔心。非常感謝您的幫助。請注意,我不記得我最近檢查過的任何來源中提及過您的方法。你必須寫一本書! (不幸的是我不能投票你的答案,我的名聲還是太低了,抱歉)。 – Nick