Ler dados PHP mySQL

snoopy21

Power Member
Preciso de colocar numa página todos os textos gravados de um determinado utilizador.
Podem-me dar uma ajudinha com este código?

<?php
session_start();
$user_name = $_SESSION['user_name'];
require_once("../config/db.php");
require_once("../config/db_connection.php");

$result = mysqli_query($db_connection, "SELECT text FROM texts WHERE user=$user_name");
$storeArray = Array();
while ($row = mysqli_fetch_array($result)) {
$storeArray[] = $row['texts'];
}
foreach($storeArray as $text){
echo "<div>$text</div>";
}
?>
 
Isto é suficiente para executar a query,
$result = mysqli_query("SELECT text FROM texts WHERE user=$user_name");

Na query estás a selecionar a coluna "text" da tabela "texts" por isso tens de fazer isto,
$storeArray[] = $row['text'];
ou simplesmente,
$storeArray[] = $row[0];

O teu erro está aqui,
$storeArray[] = $row['texts']; (um 's' a mais)
 
obrigado pela ajuda, mas devo ter mais algum problema. Aínda não tá a aparecer nada. A tabela texts está a funcionar direito e tem lá uma entrada com todos os campos preenchidos. Como nem sequer aparece nada se eu escrever texto no loop, deduzo que a array está vazia. Não é preciso por aspas ou acentos na query?

<?php
session_start();
$user_name = $_SESSION['user_name'];
require_once("../config/db.php");
require_once("../config/db_connection.php");

$result = mysqli_query("SELECT text FROM texts WHERE user=$user_name");
$storeArray = Array();
while ($row = mysqli_fetch_array($result)) {
$storeArray[] = $row['text'];
}
foreach($storeArray as $text){
echo "<div>$text</div>";
}
?>
 
Nem me apercebi que estavas a usar mysqli em vez de mysql. Sendo assim a tua query estava correta,

$result = mysqli_query($db_connection, "SELECT text FROM texts WHERE user=$user_name");

Eu testei no meu computador o código e funciona. Tens a certeza que a ligação à BD é feita com sucesso?
 
acho que descobri o problema, acabei de apagar o where e funcionou. Será que a variável da session não funciona ou existe uma maneira mais correcta de usar uma variável num where?
 
Back
Topo