2014-11-10 3 views
-2

Может ли кто-нибудь объяснить, почему я не получаю никакого результата от моего нижеследующего скрипта:
Когда я запускаю запрос в phpmyadmin, он возвращает правильный результат (id), но работает под моим скриптом php it echo находится вне "No row found!";Получить данные из mySQL через php

<?php 
if(isset($_SESSION['word'])) { 
    $word = $_SESSION['word']."<br>"; 
    echo $word; 
    $query = ("SELECT id FROM customer WHERE mobil = $word"); 
    if (!$query) { 
    die('Invalid query: ' . mysql_error()); 
    } 
    else { 
      $results = mysql_query($query); 
      while ($row = mysql_fetch_assoc($results)) { 
      echo '<pre>', print_r($row), '<pre>'; 
     } 
      if (!$row) { 
       echo "No row found!"; 
      } 
     } 
} 
?> 
+0

Ваш запрос недопустим, используйте $ query = mysql_query ("SELECT id FROM customer WHERE mobil =" ". $ Word." '"); – Ricky

+0

Какой тип данных поддерживает это мобильное поле? –

+0

Используйте одинарные кавычки вокруг переменной $ word. Я бы предложил использовать PDO, а не функции mysql_ *. –

ответ

0

UPDATE and SOLVED Мой скрипт работает отлично, благодаря @CodingAnt (кто спрашивал: какой тип данных поддерживает это мобильное поле?) - я проверил свою базу данных, и выяснилось, что mobil был установлен в VARCHAR вместо INT. Изменил его INT, и теперь все работает.

2

Ваш запрос является недействительным, это должно быть так:

$query = mysql_query("YOUR QUERY"); 

Кроме того, вы не должны использовать mysql_, так как это является устаревшим и в скором времени будут удалены. Вместо этого используйте PDO или MySQLI. Вы можете найти более подробную информацию здесь:

Why shouldn't I use mysql_* functions in PHP?

0

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

$results = mysqli_query($query); 
    if(mysqli_num_rows($results)>0){ 
     while ($row = mysqli_fetch_assoc($results)) { 
     echo '<pre>', print_r($row), '<pre>'; 
    } 
    else{ 
      echo "No row found!"; 
     } 
    } 
0

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

$query = ('SELECT id FROM `customer` WHERE mobil = "$word" '); 
0

Должно быть,

<?php 
require_once("db_connect.php"); 
    if(isset($_SESSION['word'])) { 
    $word = $_SESSION['word']."<br>"; //Getting word here  
    $query = "SELECT id FROM customer WHERE mobil = $word"; 
    $result = mysqli_query($db,$query); //$db holds the database connection 
    if (!$result) 
     { 
     die('Invalid query: ' . mysqli_error($db)); 
     } 
    else 
    { 
    $result_rows = mysqli_num_rows($result); //Getting the no. of rows 
    if($result_rows!=0)      // If any record present,the below code executes 
    { 
     while ($row = mysqli_fetch_assoc($result)) 
     { 
      echo '<pre>', print_r($row), '<pre>'; 
     } 
    } 
    else 
    { 
     echo "No rows found";     // If no record found,this prints. 
    } 
    } 
} 
?> 

подключение к базе данных (db_connect .php) :

$db = mysqli_connect("localhost","username","password","database_name"); 

Примечание: Mysql амортизируется. Вы должны использовать либо Mysqli, либо PDO.

0

Ваш запрос неверен.

Изменить это:

$query = ("SELECT id FROM customer WHERE mobil = $word"); 

To:

$query = ("SELECT id FROM customer WHERE mobil = '".$word."'"); 

Но ваш код имеет много вопросов безопасности.

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