2013-11-28 2 views
0

Я подтвердил, что весь мой код работает, кроме выборки массива. Он возвращает, что есть только 1 строка и как-то 32 столбца. Однако моя база данных имеет только 16 столбцов. Также при попытке распечатать что-либо из массива, нет ничего. Любая помощь высоко ценится!PHP -> MySQL не возвращает данные

Мой запрос:

SELECT * FROM information WHERE username='kmccmk9'

//Get Acquired Data 
$useradmin = $_GET['useradmin']; 
$userpass = $_GET['userpass']; 
$db = $_GET['db']; 
$username = $_GET['username']; 
$password = $_GET['password']; 
$sql = $_GET['sql']; 

$link = mysql_connect("bondsolutionsnjcom.fatcowmysql.com", "aiforfrg", "********") or die('Could not connect: ' . mysql_error()); 
mysql_select_db($db) or die(mysql_error()); 
$temp = "$"."username"; 
$sql = str_replace($temp,"'".$username."'",$sql); 
$temp = "$"."password"; 
$sql = str_replace($temp,"'".$password."'",$sql); 
echo $sql; 

$result_id = mysql_query($sql) or die("DATABASE ERROR!".mysql_error()); 

echo count($result_id); 

$total = mysql_num_rows($result_id); 

if($total == 1) { 
    $info = mysql_fetch_array($result_id); 
    for ($i=0;$i<count($info);$i++) { 
     echo $info[i]." "; 
    } 
} else { 
    echo "something messed up"; 
} 

mysql_close(); 

Использование MySQLi вместо этого, мой код выглядит следующим образом:

$mysqli = new mysqli("bondsolutionsnjcom.fatcowmysql.com", $useradmin, $userpass, $db); 
if ($mysqli->connect_errno) { 
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; 
} 
$res = $mysqli->query($sql); 
$res->data_seek(0); 
while ($row = $res->fetch_assoc()) { 
    echo " id = " . $row['id'] . "\n"; 
} 

Но я получаю следующее сообщение об ошибке, и я не знаю, почему:

Fatal error: Call to a member function data_seek() on a non-object in /hermes/waloraweb097/b516/moo.bondsolutionsnjcom/frg/scripts/executequery.php on line 15

+0

Попробуйте использовать mysqli_ * функцию или PDO, избегать использования mysql_ * функция (не рекомендуется) –

+0

Привет спасибо за ответ, я сейчас получаю странное сообщение об ошибке. См. Отредактированный пост. – Kyle

+0

Можете ли вы разместить свой sql-запрос здесь? –

ответ

3

Попробуйте следующее:

$useradmin = $_GET['useradmin']; 
$userpass = $_GET['userpass']; 
$db = $_GET['db']; 
$username = $_GET['username']; 
$password = $_GET['password']; 
$sql = $_GET['sql']; 

$link = mysql_connect("bondsolutionsnjcom.fatcowmysql.com", "aiforfrg", "********") or die('Could not connect: ' . mysql_error()); 
mysql_select_db($db) or die(mysql_error()); 
$temp = "$"."username"; 
$sql = str_replace($temp,"'".$username."'",$sql); 
$temp = "$"."password"; 
$sql = str_replace($temp,"'".$password."'",$sql); 
echo $sql; 

$result_id = mysql_query($sql) or die("DATABASE ERROR!".mysql_error()); 

echo count($result_id); 

$total = mysql_num_rows($result_id); 

if ($total > 0) { 
    $i=0; 
    while($info = mysql_fetch_array($result_id)) 
    { 
     echo $info[$i]." "; 
     $i++; 
    } 
} else { 
    echo "something messed up"; 
} 

mysql_close(); 
+0

Спасибо за ответ, к сожалению, это ничего не изменило. – Kyle

+0

put echo $ info [$ i]; check now –

+0

@Kyle повторите попытку над кодом, это поможет вам. –

1

Попробуйте ввести код. Я рассмотрел и изменил код:

//Get Acquired Data 
$useradmin = $_GET['useradmin']; 
$userpass = $_GET['userpass']; 
$db = $_GET['db']; 
$username = $_GET['username']; 
$password = $_GET['password']; 
$sql = $_GET['sql']; 

$link = mysql_connect("bondsolutionsnjcom.fatcowmysql.com", "aiforfrg", "********") or die('Could not connect: ' . mysql_error()); 
mysql_select_db($db) or die(mysql_error()); 
$temp = "$"."username"; 
$sql = str_replace($temp,"'".$username."'",$sql); 
$temp = "$"."password"; 
$sql = str_replace($temp,"'".$password."'",$sql); 

$result_id = mysql_query($sql) or die("DATABASE ERROR!".mysql_error()); 

$total = mysql_num_rows($result_id); 

if($total > 0) { 
    while ($info = mysql_fetch_row($result_id)) { 
     for ($i=0;$i<count($info);$i++) { 
      echo $info[$i]." "; 
     } 
     echo "<br/>"; 
    } 
} 
else { 
    echo "something messed up"; 
} 

mysql_close(); 
+0

Спасибо за идею
! – Kyle

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