2015-07-11 1 views
-1

У меня возникает следующая ошибка при доступе к этой ссылке: (да, я знаю, что я использую json позже, потому что это лучше, но я пытаться это) http://justedhak.comlu.com/insert.php?username=m&password=mmysqli_fetch_array() ожидает, что параметр 1 будет mysqli_result, ошибка boolean, но результат запроса - varchar

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /home/a6901827/public_html/insert.php on line 18 

, но результат этого запроса VARCHAR не boealan разрешением является VARCHAR и опрашивает дает результат «да» .. почему тогда у меня возникли такие ошибки?

<?php 
$host='mysql12.000webhost.com'; 
$uname='z'; 
$pwd='6'; 
$db="a6901827"; 


$con = mysqli_connect($host,$uname,$pwd) or die("connection failed"); 

if (mysqli_connect_errno($con)) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$username = $_POST['username']; 
$password = $_POST['password']; 
$result = mysqli_query($con,"SELECT res FROM samle where 
name='$username' and password='$password'"); 
$row = mysqli_fetch_array($result); 
$data = $row[0]; 

if($data){ 
echo $data; 
} 
mysqli_close($con); 
?> 

ответ

1

Вы можете использовать инъекции sql с помощью этого кода. Ваш код не работает, потому что вы отправляете запрос GET, но ищете данные POST.

<?php 
$host='mysql12.000webhost.com'; 
$uname='****'; 
$pwd='*****'; 
$db="******";  
$con = mysqli_connect($host,$uname,$pwd) or die("connection failed"); 
if (mysqli_connect_errno($con)) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$username = mysqli_real_escape_string($con, $_GET['username']); 
$password = mysqli_real_escape_string($con, $_GET['password']); 
$result = mysqli_query($con,"SELECT res FROM samle where 
name='$username' and password='$password'"); 
$row = mysqli_fetch_array($result); 
$data = $row[0]; 

if($data){ 
echo $data; 
} 
mysqli_close($con); 
?> 

Также ..

  1. Вы должны рассмотреть вопрос об использовании подготовленных заявлений в будущем.
  2. Вы не должны хранить пароли в виде обычного текста.
  3. При отправке кода обязательно удалите учетные данные.
  4. Вы также можете использовать $_REQUEST, тогда можно использовать POST, GET или COOKIE.
+0

Да, да, я просто читаю учебники о должности и получаю, я новичок в php, и я использую его с android @ chris85 – Moudiz

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