2015-06-05 2 views
0

Я пытаюсь получить все из таблицы whit php/mysql, но это не сработает. Я попытался выполнить поиск, но я не знаю, что делает ошибку. Я надеюсь, что вы можете мне помочь.mysql unknow error с опцией выбора

этот код:

$servername = "localhost";  //Location Of Database - usually it's "localhost" 
     $username = "root";    //Database User Name 
     $password = "";     //Database Password 
     $dbname = "hr";     //Database Name 

     $naam = mysql_real_escape_string($_POST['filler']);  
     $naam2 = mysql_real_escape_string($_POST['name']); 

     // Create connection 
     $conn = new mysqli($servername, $username, $password, $dbname); 
     // Check connection 
     if ($conn->connect_error) { 
      die("Connection failed: " . $conn->connect_error); 
     } 

     $sql="SELECT * FROM antwoorden WHERE 'filler'='$naam' AND 
      'name'='$naam2'"; 

     if ($conn->query($sql) === TRUE) { 
      $row = $result->fetch_row(); 
     } else { 
      echo "Error: " . $sql . "<br>" . $conn->error; 
     } 

     $date = $row[2]; 
     $C_KVW = $row[5]; 
     $TL_KVW = $row[6]; 
     $C_AW = $row[7]; 
     $TL_AW = $row[8]; 
     $C_FB = $row[9]; 
     $TL_FB = $row[10]; 
     $C_FO = $row[11]; 
     $TL_FO = $row[12]; 
     $C_SW = $row[13]; 
     $TL_SW = $row[14]; 
     $C_WC = $row[15]; 
     $TL_WC = $row[16]; 
     $C_ST = $row[17]; 
     $TL_ST = $row[18]; 
     $C_CF = $row[19]; 
     $TL_CF = $row[20]; 
     $C_OP = $row[21]; 
     $TL_OP = $row[22]; 
     $C_IN = $row[23]; 
     $TL_IN = $row[24]; 
     $C_NA = $row[25]; 
     $TL_NA = $row[26]; 
     $C_OB = $row[27]; 
     $TL_OB = $row[28]; 
     $gemcijf = $row[29]; 

     echo("De antwoorden zijn: <br/>".$date." & ".$C_KVW." & ".$TL_KVW." & ".$C_AW." & ".$TL_AW." & ".$C_FB." & ".$TL_FB." & ".$C_FO." & ".$TL_FO." & ".$C_SW." & ".$TL_SW." & ".$C_WC." & ".$TL_WC." & ".$C_ST." & ".$TL_ST." & ".$C_CF." & ".$TL_CF." & ".$C_OP." & ".$TL_OP." & ".$C_IN." & ".$TL_IN." & ".$C_NA." & ".$TL_NA." & ".$C_OB." & ".$TL_OB." & ".$gemcijf); 

и ошибка я получаю:

Error: SELECT * FROM antwoorden WHERE 'filler'='bart' AND 'name'='willem' 
De antwoorden zijn: 
& & & & & & & & & & & & & & & & & & & & & & & & & 
+1

удалите одну цитату из 'filler' и 'name' –

+1

Используйте подготовленное заявление и избегайте проблем с кавычками! – SMA

+0

Вы смешиваете 'mysqli' с' mysql', возможно, вам стоит посмотреть на это ... – Alex

ответ

1

Нет необходимости ' с вокруг имен столбцов - filter или name. Вы можете использовать кавычку вместо -

$sql="SELECT * FROM antwoorden WHERE `filler`='$naam' AND 
     `name`='$naam2'"; 

UPDATE

Там нет больше ошибок в запросе. Вы делаете -

if ($conn->query($sql) === TRUE) { 

который проверяет идентичный true с возвращаемым значением $conn->query($sql), который будет всегда ложно, как он будет возвращать resource объект не true для преуспевающего SELECT. Вы должны сделать это как -

if ($conn->query($sql)) { 

вместо этого.

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

$conn->query($sql) вернется false, если есть какая-либо ошибка в отношении базы данных или запроса.

+0

Я пробовал, но все та же проблема –

+0

Что такое ошибка? –

+0

Ошибка: ВЫБЕРИТЕ * ОТ antwoorden WHERE filler = 'bart' AND name = 'willem' –

0

в поле базы данных использовать этот знак `

'filler'='bart' AND 'name'='willem' 

заменить этот код

`filler`='bart' AND `name`='willem' 
2

You were mixing two APIs mysql and mysqli. Stop using deprecated mysql

Так нужно, чтобы обновить ваши переменные

$naam = mysqli_real_escape_string($conn,$_POST['filler']);  
$naam2 = mysqli_real_escape_string($conn,$_POST['name']); 

Нет необходимости использования quotes вокруг колонка имена - filter или name. Вместо этого вы можете использовать кавычку

$sql="SELECT * FROM antwoorden WHERE `filler`='$naam' AND 
     `name`='$naam2'"; 
0

Как сказал b0s3: оставить ' s

И, пожалуйста, начать использовать некоторые современные рамки или, по крайней мере, PDO при подключении/запроса к базе данных и т.д.

PDO: http://php.net/manual/en/book.pdo.php

Medoo (рамочный databsae легкий PHP): http://medoo.in/

GL =)

Смежные вопросы