Я использую функцию .Jquery autocomplete
, и я пытаюсь выяснить, где можно положить mysql_real_escape_string()
. Я пробовал несколько разных идей, но я просто не уверен. Я получаю ошибку ...Как бы добавить mysql_real_escape_string() к этому QUERY?
Warning: mysql_real_escape_string(): Access denied for user 'www-data'@'localhost'
Когда я использую $ac_term = mysql_real_escape_string("%".$_GET['term']."%");
Я даже не уверен, что правильный способ использовать его.
Вот что у меня есть ...
<?php
if (!isset($_SESSION)) {
session_start();
}
try {
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
}
catch(PDOException $e) {
echo $e->getMessage();
}
$return_arr = array();
if ($conn)
{
$ac_term = "%".$_GET['term']."%";
$query = "SELECT
CONCAT_WS('', '(',User_ID,') ', UserName, ' (',AccessLevel,')') AS DispName,
User_ID, UserName, AccessLevel
FROM Employees
WHERE UserName LIKE :term
OR User_ID LIKE :term
OR AccessLevel LIKE :term
";
$result = $conn->prepare($query);
$result->bindValue(":term",$ac_term);
$result->execute();
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$row_array['value'] = $row['DispName'];
$row_array['User_ID'] = $row['User_ID'];
$row_array['UserName'] = $row['UserName'];
$row_array['AccessLevel'] = $row['AccessLevel'];
array_push($return_arr,$row_array);
}
}
$conn = NULL;
echo json_encode($return_arr);
?>
Любые предложения?
возможно это должно помочь - http://stackoverflow.com/questions/6191801/using-mysql-real-escape-string-with-pdo-no-connection-to-localhost-server – Abhay
Подсказка: вы могли бы используйте PDO :: FetchAll вместо этого или в цикле –