MySQL — почему не эхо PHP-кода

Я читал много разных фрагментов кода, и я запутался, почему строка $ echo [0] в нижней части моего кода здесь ничего не возвращает.

$dbhost = 'localhost';

$uname = $_POST["uname"];

//***create connection object
$connection = mysql_connect($dbhost, "bc572fsdf", "abcdfsds") or die(mysql_error());

$dbname = "bc57db";
mysql_select_db($dbname) or die(mysql_error());

//***select a random security question

//*** need this to import session variables
session_start();

echo ($_SESSION["ValidUser"] . "\n");

$rq       = array('q1', 'q2', 'q3');
$rand_key = array_rand($rq, 1);
echo $rq[$rand_key];

$question = $rq[$rand_key];

$qtoanswer = mysql_query("select '$question' from users where uname = '$uname'");
if (!$qtoanswer) {
echo "Could not run query:" . mysql_error();
exit;
}

echo $qtoanswer;
$row = mysql_fetch_row($qtoanswer);

echo $row[0];

?>

0

Решение

Ошибка в этой строке:

$qtoanswer = mysql_query("select '$question' from users where uname = '$uname'");

Вы должны использовать могилы для названия столбца, такие как:

$qtoanswer = mysql_query("select `$question` from users where uname = '$uname'");
^         ^

Кроме того, вы должны использовать MySQLi / PDO, так что вы можете подготовить это, или на по крайней мере, побег $uname,

1

Другие решения

Потому что вы не можете отобразить массив …. попробуйте var_dump или print_r, или используйте цикл:

foreach($row[] as $result) {
echo $row[], '<br>';
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector