На странице http://www.immocorbati.be/tehuur.php функции фильтра не работают должным образом. Только «Prijsklasse» (цена) работает. Однако, если вы фильтруете на «Gemeente» (область) Boom, например, он должен вернуть 1 домой, но он говорит, что ни один не найден. То же самое с студией «Тип» должно возвращать 3, но ничего не возвращает, а «Slaapkamer» (спальни). 3 slaapkamers должны возвращать 1 домой, но опять же ничего не показывают.mysql_real_escape_string работает отлично в локальном хосте, не работает онлайн
Что я не понимаю, так это то, что он отлично работает на localhost, и он работает наполовину и наполовину онлайн, потому что это означает, что функция достигнута. Вот файлы. Может быть, у кого-то есть некоторые указатели, почему это происходит? Возможно ли, что это связано с базой данных? Но все остальные функции в бэкэнд и т. Д. Работают так, как должны.
class Pand
{
//DB settings - Don't worry these are correct
private $m_sHost = "??????";
private $m_sUser = "????????";
private $m_sPassword = "??????";
private $m_sDatabase = "????????";
public function GetToonPandenHuurFilter()
{
//de panden worden op pagina getoond volgens filter
if ($link = mysqli_connect($this->m_sHost, $this->m_sUser, $this->m_sPassword, $this->m_sDatabase))
{
$b = $_POST['typewoning'];
$p = $_POST['plaats'];
$s = $_POST['slaapkamers'];
$k = $_POST['prijsklasse'];
$sSql = "select * from tblpand WHERE PandVerkoopstype='Te huur' AND PandOnline='Ja'";
if ($b !== 'all') {
$sSql .= " AND PandBebouwing='" . mysql_real_escape_string($b) . "'";
}
if ($p !== 'all') {
$sSql .= " AND PandPostcodeGemeente='" . mysql_real_escape_string($p) . "'";
}
if ($s !== 'all') {
$sSql .= "AND PandSlaapkamers='" . mysql_real_escape_string($s) . "'";
}
if ($k == '0') {
$sSql .= "";
}
if ($k == '1') {
$sSql .= "AND PandPrijs <'" . 301 . "'";
}
if ($k == '2') {
$sSql .= "AND PandPrijs <'" . 501 . "'";
}
if ($k == '3') {
$sSql .= "AND PandPrijs <'" . 701 . "'";
}
if ($k == '4') {
$sSql .= "AND PandPrijs <'" . 701 . "'";
}
$rResult = mysqli_query($link, $sSql);
return $rResult;
}
else
{
// er kon geen connectie gelegd worden met de databank
throw new Exception('Ooh my, something terrible happened to the database connection');
}
mysqli_close($link);
}
}
Я добавил сообщений об ошибках и говорит обратная связь:
mysql_real_escape_string(): Access denied for user ''@'10.246.64.177'
(using password: NO) in /customers/e/a/b/immocorbati.be/httpd.www/classes/Pand.class.php on line 1086
Линия 1086 является:
$sSql .= " AND PandBebouwing='" . mysql_real_escape_string($b) . "'";
Прошу сделать еще несколько отладочных операций. Вставляйте отладочные операторы, переменные 'var_dump', узкие, где именно он начинает терпеть неудачу. У нас нет лучшей позиции, чтобы сделать это, чем вы. – deceze
При тестировании кода вам необходимо убедиться, что у вас включен display_errors. Если на сервере что-то не удается, PHP, скорее всего, сможет его детализировать. В верхней части вашего скрипта 'error_reporting (E_ALL); ini_set ('display_errors', 1); 'затем отключите это позже при развертывании в живой среде. –
Хорошо, я начну с этого. –