2015-01-03 3 views
-1

Я хочу изучить PHP, поэтому я делаю это, создавая скрипты и строительные сайты.PHP MySQL неправильный код

Вот мой код для проверки ID сервера.

<?php 
    include('configuration/mysql.php'); 
    include('php/functions.php'); 
?> 
<?php 
    function canList($email1, $id) { 
     $query=mysql_query("SELECT * FROM Panel_Servers WHERE ID = '$id'") or die (mysql_error()); 
     while($sv=mysql_fetch_array($query)) 
     { 
      if($id == $sv['ID']) { 
       echo 'working.'; 
      } 
     } 
    } 
    canList("[email protected]", "2740"); 
?> 

SQL-соединение хорошее, работающее. Запрос тоже работает, проверен на phpmyadmin sql (без переменной), столбец ID равен 2740.

Я пробовал много вариантов, но он все еще не работает.

+0

Ваша колонка с идентификатором действительно прописная? @Khushboo нет, он имеет эхо внутри функции te –

+0

Согласно вашему сценарию, if ($ id == $ sv ['ID']) {echo 'working.'; } ...... когда это условие не выполняется, ваш скрипт выйдет молча – DLastCodeBender

+0

add exit; когда ваше состояние соответствует. – Khushboo

ответ

0

У меня есть скопировать код и работать на моей локальной машине, и он работает как шарм, теперь я вставляю свой рабочий код здесь:

<?php 

function canList($email1, $id) { 
    $con=mysqli_connect("localhost","root","","jtw"); 
    $query=mysqli_query($con,"SELECT * FROM sample WHERE id = '".$id."'") or die (mysql_error()); 
    while($sv=mysqli_fetch_array($query)) 
    { 
     if($id == $sv['id']) { 
      echo 'working.'; 
      echo $id; 
     } 
    } 
} 
canList("[email protected]", "1"); 
?> 

Я изменил свой id столбец в нижний регистр.

1

Я думаю, вам просто нужно сообщить mysql_fetch_array, какой тип данных вы хотите вернуть. По умолчанию он возвращает массив с числовыми ключами, поэтому ваши данные массива $sv были бы в $sv[0]. Просто передайте необязательный второй параметр MYSQL_ASSOC в mysql_fetch_array;

<?php 
    include('configuration/mysql.php'); 
    include('php/functions.php'); 
?> 
<?php 
    function canList($email1, $id) { 
     $query=mysql_query("SELECT * FROM Panel_Servers WHERE ID = '$id'") or die (mysql_error()); 
     while($sv=mysql_fetch_array($query, MYSQL_ASSOC)) 
     { 
      if($id == $sv['ID']) { 
       echo 'working.'; 
      } 
     } 
    } 
    canList("[email protected]", "2740"); 
?> 

Теперь ваш индекс массива должны быть ключи ID, такие как $sv['ID'].

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