2015-12-02 3 views
0

Я пытаюсь получить пару одиночных данных в моей базе данных сервера, но это вызывает некоторые ошибки. Входные данные верны. Функция поиска просто не завершена.Извлечение отдельных данных возвращает ошибку

Вот код:

<?php 
if($_SERVER['REQUEST_METHOD']=='POST'){ 
define('HOST','xxxxxxxxxxx'); 
define('USER','xxxxxxxxxxxx'); 
define('PASS','xxxxxxxxx'); 
define('DB','xxxxxxxxxx'); 
$con = mysqli_connect(HOST,USER,PASS,DB); 

$post_id = $_POST['id']; 
$buyer_mobile = $_POST['mobile']; 
$buyer_name = $_POST['name']; 

$sql = "select mobile from flatowner where id='$post_id'"; 
$res = mysqli_query($con,$sql); 
$owner_mobile = $row['mobile']; 



$sql = "select name from user where mobile='$owner_mobile'"; 
$r = mysqli_query($con,$sql); 
$owner_name = $row['name']; 
$sql = "INSERT INTO flat_booking   (post_id,owner_mobile,owner_name,buyer_mobile,buyer_name) VALUES   ('$post_id','$owner_mobile','$owner_name','$buyer_mobile','$buyer_name')"; 
if(mysqli_query($con,$sql)){ 
echo "Success"; 
} 
else{ 
echo "error"; 
} 
mysqli_close($con); 
}else{ 
echo 'error1'; 
}  

Что я здесь делаю неправильно? Возможно, это:

$ owner_mobile = $ row ['mobile'];

Заранее благодарен!

+0

Первое, что вы делаете неправильно вводит unvalidate/unescaped пользовательский ввод непосредственно в SQL-запрос ..... использовать подготовленные инструкции/связывать переменные и всегда предполагать, что пользователь хочет, чтобы SQL приложила вашу систему к удалению вашей базы данных. –

+0

проверить мою работу ans –

+0

$ res = mysqli_query ($ con, $ sql); $ row = mysql_fetch_array ($ res); $ owner_mobile = $ row ['mobile']; –

ответ

0

Ваша проблема эта линия:

$owner_mobile = $row['mobile']; 

Вы не создали переменную $row. Для этого вам нужно будет сделать что-то такое, как:

ли этот первый:

<?php 
$row = array(); 
while ($result = mysqli_fetch_assoc($res)) 
{ 
    $row[] = $result; 
} 
?> 

Это позволяет сделать это:

<?php 
foreach ($row as $r) 
{ 
    var_dump($r); print "<br />"; // One row from the DB per var dump 
} 
?> 
1
create table flatower and add mobile column  
$post_id = 1; 
    $sql = "select mobile from flatowner where id='$post_id'"; 
    $res = mysql_query($con,$sql); 
    $row = mysql_fetch_array($res); 
    $owner_mobile = $row[0]['mobile']; 
+2

Зачем добавлять объяснения? –

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