以下代碼似乎無法正常工作。我是PHP和jQuery的新手。PHP和MySQLi查詢總是返回0
PHP:
<?php
//if (!defined('BOOTSTRAP')) { die('Access denied'); }
//if we got something through $_POST
if (isset($_POST['postcode_locator_search'])) {
// here you would normally include some database connection
//include('config.local.php');
//Open a new connection to the MySQL server
$mysqli = new mysqli('localhost','test','[email protected])ukmd[0bm','test');
//Output any connection error
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
// never trust what user wrote! We must ALWAYS sanitize user input
$postcode_q = mysqli_real_escape_string($mysqli, $_POST['postcode_locator_search']);
$postcode_q = htmlentities($postcode_q);
// A select query. $result will be a `mysqli_result` object if successful
$result = mysqli_query("SELECT description FROM cscart_postcode_location_descriptions WHERE cscart_postcode_location_descriptions LIKE '%" . $postcode_q . "%' ORDER BY cscart_postcode_location_descriptions LIMIT 1");
if($result === false) {
// Handle failure - log the error, notify administrator, etc.
echo '1';
} else {
// Fetch all the rows in an array
echo '0';
}
$mysqli->close();
}
?>
JS/HTML:
{assign var="prod_id" value=$product.product_id}
<form action="search_postcode.php" method="post" class="postcode_locator_form" name="postcode_locator_form">
<div class="ty-control-group">
<label for="postcode_locator_search{$block.block_id}" class="ty-control-group__title">{__("postcode_search")}</label>
<p class="filling-notice">{__("postcode_search_desc")}</p>
<div class="ty-input-append ty-m-none">
<input type="text" size="20" class="ty-input-text" id="postcode_locator_search" name="postcode_locator_search" value="{$postcode_locator_search.q}" />
{include file="buttons/go.tpl" but_name="postcode_locator.search" alt=__("search")}
</div>
</div>
</form>
<div class="filling-status filling-success">
<h3>Add filling to your bean bag</h3>
<p>Searched postcode: <span class="searched-postcode"></span></p>
<p class="beans-msg">{__("add_some_beans_success")} <a href="{"checkout.add_bean_bag_filling&product_id=`$product.product_id`"|fn_url}">{__("click_here")}</a></p>
</div>
<div class="filling-status filling-failure">
<h3>Add filling to your bean bag</h3>
<p>Searched postcode: <span class="searched-postcode"></span></p>
<p class="beans-msg">{__("add_some_beans_error")}</p>
</div>
<script>
$(function() {
$(".filling-status").hide();
$(".postcode_locator_form .ty-btn-go").click(function() {
// getting the value that user typed
var searchString = $("#postcode_locator_search").val();
// forming the queryString
var data = 'postcode_locator_search='+ searchString;
// if searchString is not empty
if(searchString) {
// ajax call
$.ajax({
type: "POST",
url: "search_postcode.php",
data: data,
beforeSend: function(html) { // this happens before actual call
$(".searched-postcode").html(searchString);
},
success: function(data){ // this happens after we get results
console.log(data);
if(data == '0'){
$(".filling-status.filling-success").show();
} else if(data == '1'){
$(".filling-status.filling-failure").show();
}
}
});
}
return false;
});
});
</script>
的通信是所有工作,但它總是返回0從什麼我搜索了成功,似乎不檢查數據庫結果。
我需要的是如果我搜索一些東西,它是一個匹配,返回0作爲成功,但如果找不到/匹配返回1作爲失敗。
因爲它說你的病情。它讀取所有數據和回顯字符串0; – aldrin27
我該如何解決它?對不起,即時通訊新的PHP,所以試驗和錯誤,直到現在和差不多2am哈哈 – James
你運行查詢時記錄了你收到的錯誤?好像你的查詢中有無效的表/字段名稱。您的表格和您的字段名稱是否都是「cscart_postcode_location_descriptions」? – DGS