我有一個腳本,無需刷新頁面即可搜索。我試圖從舊的mysql_connect
轉移到新的PDO
連接,以使其更安全。我需要幫助來更改我的PDO腳本,以便它可以與post函數一起使用。從mysql_connect移動到我的網站上的PDO
我的HTML腳本:
<script type="text/javascript">
$(document).ready(function(){
$(".search").click(function(){
$.post("search.php", { keywords: $(".keywords").val() }, function(data){
$("div#content").empty()
$.each(data, function(){
$("div#content").append("- <a href='#?id=" + this.id + "'>" + this.title + "</a><br>");
});
}, "json");
});
});
</script>
</head>
<body>
<input type="text" name="search" class="keywords">
<input type="submit" name="submit" class="search">
<div id="content">
</div>
這是我的工作搜索腳本:
<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("pirateconnection", $link);
$keywords = mysql_real_escape_string($_POST["keywords"]);
$query = mysql_query("SELECT * FROM media WHERE title LIKE '%". $keywords ."%'");
$arr = array();
while($row = mysql_fetch_array ($query))
{
$arr[] = array("id" => $row["id"], "title" => $row["title"]);
}
echo json_encode($arr);
?>
我與PDO連接一個新的腳本:
<?php
$db = new PDO('mysql:host=localhost;dbname=pirateconnection','root','');
$query = $db->prepare("SELECT `media`.`title` FROM `media` WHERE `media`.`title` LIKE :keywords");
$keywords = (isset($_POST['keywords']) === true) ? $_POST['keywords'] : '';
$query->bindValue(':keywords', '%' . $keywords . '%', PDO::PARAM_STR);
try {
$query->execute();
$rows = $query->fetchAll(PDO::FETCH_ASSOC);
echo '<pre>', print_r($rows, true), '</pre>';
} catch(PDOException $e) {
die($e->getMessage());
}
?>
現在我需要使用html/jquery post腳本獲得PDO腳本。
什麼不工作,究竟是什麼? – Nick 2013-02-26 23:45:46
那麼問題是什麼?我不明白。看,你是那裏的人,你看到輸出,差異,陣列。請嘗試解釋您無法解決的實際問題。 – kapa 2013-02-26 23:45:53
什麼不行? – 2013-02-26 23:46:01