2015-08-27 7 views
0

Может кто-нибудь помочь с нижеследующим запросом. Приведенный ниже код не возвращает FirstName и LastName. Зачем?mysql_fetch_array ничего не возвращает

Приветствия, Akhil G

<?php 

     $username = mysql_real_escape_string($_GET['user']); 
     $firstname ="" ; 
     $lastname =""; 
      if (ctype_alnum($username)) 
      { 
       //check user exist 

       $check = mysql_query("SELECT username, first_name, last_name FROM syn where username = '$username'"); 
       if (mysql_num_rows($check) === 1) 
       { 
        $get = mysql_fetch_array($check); 
        $username = $get['username']; 
        $firstname = $get['first_name']; 
        $lastname = $get['last_name']; 
       } else 
       echo "<h2> User Does Not Exist ! </h2>"; 
       exit(); 
      } 
?> 
+0

что ваш вывод? –

+1

Вы отправляете данные пользователя через GET или POST? – bicho

+0

В вашем коде могут быть синтаксические ошибки. Проконсультируйтесь по следующим ссылкам: http://php.net/manual/en/function.mysql-error.php и http://php.net/manual/en/function.error-reporting.php и примените это к своему код. –

ответ

0

вы используете неправильно выборки функцию

$get = mysql_fetch_array($check); 

сохраненные данные в пронумерованных позициях в массиве, поэтому возвращаемый данные хранятся в $ получить [0 ], $ get [1] и $ get [2].

вы можете увидеть содержимое с помощью print_r ($ get);

Вместо этого используйте

$get = mysql_fetch_assoc($check); 

это хранит данные в соответствующем массиве вам требуется.

+0

Вам не нужно использовать нумерованные позиции с помощью 'mysql_fetch_array',' $ get ["name"] 'должно работать нормально –

0

попробовать это ..

<?php 

     $username = mysql_real_escape_string($_GET['user']); 
     $firstname ="" ; 
     $lastname =""; 
      if (ctype_alnum($username)) 
      { 
       //check user exist 

       $check = mysql_query("SELECT username, first_name, last_name FROM syn where username = '$username'"); 
       if (!$check) 
       { 
        $get = mysql_fetch_row($check); 
        $username = $get[0]; 
        $firstname = $get[1]; 
        $lastname = $get[2]; 
       } else 
        echo "<h2> User Does Not Exist ! </h2>"; 
       exit(); 
      } 
?> 
0

Спасибо ребята .. но, кажется, я не повезло .. ничего не похоже работает .. пробовал все варианты предложили .. ниже модифицированную версию, которая снова не printiing ПгвЬЫате фамилия или имя пользователя

<?php 
include("./inc/header.inc.php"); 
?> 

<?php 

if (isset($_GET['user'])) 
    { 
    $username = mysql_real_escape_string($_GET['user']); 
    $firstname ="" ; 
    $lastname =""; 
     if (ctype_alnum($username)) 
     { 
      //check user exist 
      $check = mysql_query("SELECT username, first_name, last_name FROM syn where username = '$username'"); 
      if (mysql_num_rows($check) === 1) 
      { 
       $get = mysql_fetch_assoc($check); 
       $username = $get['username']; 
       $firstname = $get['first_name']; 
       $lastname = $get['last_name']; 
      } else 
      echo "<meta http-equiv =\"refresh\" content=\"0; url = http://localhost:8080/FirstTry/Tests/index.php\">"; 
      exit(); 
     } 
} 
?> 

<div class="postForm" > Post form will go in here .. </div> 
<div class="postPosts" > Your Post will go in here ..</div> 
<img src ="" height="250" width="200" alt ="<?php echo $firstname; ?>'s profile" title="<? echo $firstname; ?>'s profile"/> 


+0

Как насчет вы начнете с выполнения некоторой отладки, поставьте условие die на свой mysql_query и распечатайте mysql_error(). сгенерируйте свой SQL-запрос отдельно и повторите его и проверьте его действительный sql, запустите его прямо против вашего db, чтобы он что-то возвращал. Как только вы исключили ошибки sql, посмотрите на ваш php. вы уверены, что пользовательская переменная получена через $ _GET? не $ _POST? помогите себе и помогите нам помочь вам сначала отладить его правильно! – Dave

+0

также в коде выше вашего оператора if имеет плохой синтаксис. – Dave

+0

Привет, Дейв, спасибо, указав это. Я сделал небольшую настройку в коде, и это сработало ... Мне пришлось прокомментировать второе условие «если», чтобы заставить его работать ... не уверен, что это лучший способ чтобы закодировать это, но на данный момент я получу с ним // if (ctype_alnum ($ username)) –