Переменная PHP MYSQL VALUE

Я хотел бы сохранить значение из базы данных в string , Я учу PHP и до сих пор просто не понимаю эту оценку

$db_user = $database->runSQLQuery("SELECT * FROM users");
while($feld = mysql_fetch_array($db_user)){
$save= $feld['username'].",";
}
// Tom,Anne,Alf
echo $save;

К сожалению, это сохраняет мне значение здесь: tom,

0

Решение

Попробуй это:

$save = '';
$db_user = $database->runSQLQuery("SELECT * FROM users");
while($feld = mysql_fetch_array($db_user))
{
$save .= $feld['username'].",";

}
// Tom,Anne,Alf
echo $save;

$save переменная теперь добавляет результат из базы данных в строку, это называется конкатенацией. Вы можете прочитать больше об этом Вот.

0

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

WHILE-Loop перезаписывает ваш $save каждый раз. Если вы хотите объединить его с предыдущими значениями, используйте $save .= $feld['username'].","; (обратите внимание на дополнительные . )

Тем не менее, в конечном итоге это приведет к Тому, Энн, Альфу, поэтому вы должны удалить последний знак «,», чтобы получить желаемый результат.

0

Без запятой, как ваш комментарий.

$save = "";
$concat = "";
$db_user = $database->runSQLQuery("SELECT * FROM users");
while($feld = mysql_fetch_array($db_user))
{
$save .= $concat . $feld['username'];
$concat = ",";
}

// Tom,Anne,Alf
echo $save;
0

Завершающую запятую можно обрабатывать, не вводя другую переменную. Вот как я обычно это делаю:

    $save = "";
$db_user = $database -> runSQLQuery('SELECT username FROM users', MYSQL_ASSOC);
while ( $feld = mysql_fetch_array($db_user)) {
if ( $save != "" ) $save .= ',';
$save .= $feld['username'];
}

Я изменил ваш SELECT, чтобы было понятно, что вас интересует только имя пользователя. Это также быстрее.

Кроме того, быстрее и чище указывать MYSQL_ASSOC (вместо значения по умолчанию MYSQL_BOTH), поэтому вы не получите две копии всех полей.

Стилистически я всегда использую одинарные кавычки в PHP для простых строк, поэтому PHP не нужно проверять подстановку переменных и т. Д. За одним исключением: я использую "" для пустой строки, потому что '' легко спутать с ",

0
По вопросам рекламы [email protected]