У меня проблемы с началом сессии. Вот мой php:
<?php
session_start();
$con=mysqli_connect('localhost','root','','pttkhdt');
if (mysqli_connect_errno()) echo "Failed to connect to MySQL: " . mysqli_connect_error();
else {
$a = $_SESSION['a'];
$knad ='SELECT * FROM admintb WHERE adID=' .$a;
$naad = mysqli_query($con,$knad);
$arad = array();
while($rowad=mysqli_fetch_assoc($naad)) $arad[] = $rowad;
}
?>
Если я введу это, когда я попробую протестировать мой сайт, он покажет:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in...
Но если я исправлю
$naad=mysqli_query($con,$knad);
В:
$naad=mysqli_query($con,$knad) or die;
страница «вымрет» и станет пустой.
Судя по всему, вы загружаете свой mysqli_fetch_assoc в массив, используя цикл while. Тем не менее, mysqli_fetch_assoc()
уже загружает массив.
Почему бы вам не попробовать это:
<?php
session_start();
$con=mysqli_connect('localhost','root','','pttkhdt');
if ( mysqli_errno($con) ) {
//Exit stops the rest of the script
exit( "Failed to connect to MySQL: " . mysqli_error($con) );
} else {
$a = $_SESSION['a'];
$knad = "SELECT * FROM admintb WHERE adID='" . $a . "'";
$arad = mysqli_fetch_assoc( mysqli_query($con,$knad) );
if (!$arad) { exit( mysqli_error($con) ); }
}
?>
Причиной вашей ошибки sql может быть тот факт, что ваши предыдущие операторы SQL $ knad говорят, например, adID=justatestvalue
, так что ваш SQL ищет столбец justatestvalue. Убедитесь, что фактические утверждения заключены в кавычки.
mysqli_query($con,"SELECT * FROM user WHERE userName='$user'");
Проверьте свою ошибку с помощью mysql_error () и обновите ее здесь;
$naad=mysqli_query($con,$knad) or die(mysql_error());
или попробуйте этот код ниже
$link=mysql_connect($host,$user,$pwd);
$db = mysql_select_db($dbname,$link);
if(!$db) die (mysql_error());