Я получаю php warring
Warning: Illegal string offset 'item_id' in
пытаясь исправить этот код
<?php
error_reporting(0);
include ('includes/db.inc.php');
include ('includes/items.inc.php');
include ('header.php');
$user_id=$_SESSION['user_id'];
$sqll= "SELECT 'transcription.item_id' FROM transcription left JOIN items ON 'items.item_id' = 'transcription.item_tra_id';" ;
$resultt= mysqli_query($conn,$sqll);
$resultts= mysqli_num_rows($resultt);
//echo $results;
$rers = mysqli_fetch_assoc($resultt);
foreach ($rers as $rerss) {
echo $rerss['item_id'] ;
}
?>
Я искал выяснение, что мне нужно обернуть ключ массива в кавычки, и что именно то, что я сделал, но все еще та же проблема, также я не знаю, правильны ли мои операторы SQL.
У вас есть две проблемы:
Обтекание столбца в одинарных кавычках превращает его в строку, а не в имя столбца, вам нужно обернуть ее в обратные ссылки, то есть:
$sqll= "SELECT 'transcription.item_id' FROM transcription left JOIN items ON 'items.item_id' = 'transcription.item_tra_id';" ;
Вы не правильно повторяете результат.
while($rerss = mysqli_fetch_assoc($resultt))
{
print_r($rerss);
}
mysqli_fetch_assoc
извлекает запись ONE и возвращает ее как массив столбцов, а не массив всех записей, ее нужно вызывать для каждой записи, которая находится в результирующем наборе.
while ($rerss = mysqli_fetch_assoc($resultt)) {
?