表示されるエラー メッセージによると、SQL 構文に問題がありますが、理解できません。AJAX、PHP、および SQL を使用して一致するプロジェクト名を検索できるシステムを作成しようとしています。検索用語に一致するたびに、ハイパーリンクとして画面に表示されます。クリックすると、検索用語に関連するコンテンツを表示する別のページに移動します。
データベースを検索してハイパーリンクを表示するように設定しましたが、ハイパーリンクをクリックして関連する一致をロードすると、「SQL 構文にエラーがあります。MySQL に対応するマニュアルを確認してください」というエラー メッセージが表示されます。 1 行目の 'Home From Home''' の近くで使用する正しい構文のサーバー バージョン"
コード内では、「search_value」が取得する検索語であるため、Home From Home はどこにも参照されていません。私の問題はクエリにあると思いますが、100% 確信はありません。すべてのページがどのようにリンクされているかなどを確認できるように、以下の 3 つのページすべてのコードを掲載します。
どこが間違っていますか?
CPanel.php
<html>
<head>
<script>
function showHint(str) {
if (str.length==0) {
document.getElementById("results_box").innerHTML="Matching Project Names: <hr/>";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("results_box").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","CPanel_Inc.php?search_value="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<p><b>Project Search:</b></p>
<form>
Project Name: <input type="text" onKeyUp="showHint(this.value)" size="20" />
</form>
<div id="results_box">
Matching Project Names: <hr/>
</div>
</body>
</html>
CPanel_Inc.php
<?php
$connect = mysqli_connect("localhost", "root", "", "creative wolf");
if (mysqli_connect_errno()) {
printf("Connect Failed", mysqli_connect_error());
exit();
} else {
// Get the search_value parameter from URL
$search_value = $_GET["search_value"];
$content = "";
// Search database for comparable values provided that search_value has some value
if (strlen($search_value) > 0) {
// Sets up query return results
$qry = "SELECT ProjectName FROM projects WHERE ProjectName LIKE '".mysql_real_escape_string($search_value)."%'";
$res = mysqli_query($connect, $qry) or die(mysqli_error($connect));
if (mysqli_num_rows($res) < 1){
printf("Matching Project Names: <hr/> Could not retrieve records matching your search critera", mysqli_error($connect));
} else {
$content .= "Matching Project Names: <hr/>";
while ($data = mysqli_fetch_array($res)) {
$content .= "<li><a href=\"search.php?search_value='". $data['ProjectName']."'\"> " . $data['ProjectName']. "</a></li>";
}
echo "$content";
}
}
mysqli_free_result($res);
mysqli_close($connect);
}
?>
Search.php
<?php
$connect = mysqli_connect("localhost", "root", "", "creative wolf");
if (mysqli_connect_errno()) {
printf("Connect Failed", mysqli_connect_error());
exit();
} else {
// Get the search_value parameter from URL
$content = "";
// Set up query
$get_data_qry = "SELECT * FROM content WHERE ProjectName = '".$_GET["search_value"]."'";
$get_data_res = mysqli_query($connect, $get_data_qry) or die(mysqli_error($connect));
while ($clientData = mysqli_fetch_array($get_data_res)) {
$content .= $clientdata['ProjectName'];
$content .= $clientdata['RequestedBy'];
$content .= $clientdata['FileLocation'];
$content .= $clientdata['Description'];
$content .= "<br />";
}
mysqli_free_result($res);
mysqli_close($connect);
}
?>