Существует файл подключения db.php к базе данных.
<?php
$db_name = 'infoin';
$db_host = 'localhost';
$db_user = 'admin';
$db_password = '123456';
$link = mysql_connect($db_host,$db_user,$db_password,$db_name);
mysql_select_db($db_name,$link) or die("Нет соединения с БД " .mysql_error());
mysql_query("SET names cp1251");
class db {
function __construct()
{
global $dbh;
if (!is_null($dbh)) return;
$dbh = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysql_select_db(DB_NAME);
mysql_query('SET NAMES utf8');
}
function select_list($query)
{
$q = mysql_query($query);
if (!$q) return null;
$ret = array();
while ($row = mysql_fetch_array($q, MYSQL_ASSOC)) {
array_push($ret, $row);
}
mysql_free_result($q);
return $ret;
}
}
?>
Я уже пробовал различную реализацию кода для решения этой проблемы. У меня в файле подключения выводит ошибки одну за одной, но в целом этого подключения не происходит. Исправляя одну ошибку, появляется другая, может есть что-то фундаментальное, что я делаю не так, может сам подход. Есть
search.php, который выводит на файл
do_search.php, в файле
do_search.php происходит подключение к базе.
<?php
if (isset($_POST['search']))
{
include('include/db.php');
$db = new db();
$word = mysql_real_escape_string($_POST['search']);
$sql = "SELECT * FROM info_db_5 WHERE title LIKE '%" . $word . "%'";
$row = $db->select_list($sql);
if(count($row))
{
$end_result = '';
foreach($row as $r)
{
$result = $r['title'];
$bold = '<span class="found">' . $word . '</span>';
$end_result .= '<li>' . str_ireplace($word, $bold, $result) . '</li>';
}
echo $end_result;
}
else
{
echo '<li>No results found</li>';
}
}
?>
А также javascript в html
<script type="text/javascript">
$(function() {
$(".search_button").click(function() {
var searchString = $("#search_box").val();
var data = 'search='+ searchString;
if(searchString) {
$.ajax({
type: "POST",
url: "do_search.php",
data: data,
beforeSend: function(html) {
$("#results").html('');
$("#searchresults").show();
$(".word").html(searchString);
},
success: function(html){
$("#results").show();
$("#results").append(html);
}
});
}
return false;
});
});
</script>
В основном проблемы возникают только с подключением к базе, как всегда естественно. Поэтому я некоторые параметры изменил, однако подключение всё равно не работает, не могу понять почему. Может быть ошибка в форматировании или ещё где-то. Однако сейчас указывает
Warning: mysql_connect() -
Warning: mysql_connect(): in D:\OSPanel\domains\devitera.com\include\db.php on line 19
Warning: mysql_connect(): in D:\OSPanel\domains\devitera.com\include\db.php on line 19
No results found