Только одно значение? SQL Connect — вики-разметка

Фактически я работаю над вики-проектом, чтобы получить данные БД по разметкам с подключением БД.

моя проблема заключается в:

внешний интерфейс показывает только последнюю строку «data / $ text» $ text = $ zeile [‘name’];

все остальные (здесь, например,
$ text = $ zeile [‘largeimage’]; `
$ text = $ zeile [‘link’];) не отображаются спереди —

ошибки нет — просто не отображается 🙁

мой код:

Markup_e('amazon','inline',"/\\[:amazon ([A-Z;,a-z,0-9,' ']+):\\]/",
"PRR().amazon(\$m[1])");

function Amazon($name) {

include('/www/htdocs/drtaarde/inc/config.php'); //Datenbankverbindung herstellen

$sql = "SELECT * FROM d029a62b WHERE asin LIKE '%$name%';";

$db_erg = mysqli_query( $link, $sql );
if ( ! $db_erg ) {
die('Ungültige Abfrage: ' . mysqli_error());
}

while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC)) {

$text = $zeile['largeimage'];
$text = $zeile['link'];
$text = $zeile['name'];


return $text;
}
}

спасибо за любой ответ

0

Решение

Спасибо, я попробую оба, но я получаю только ошибку

мой полный код

<?php





Markup_e('amazon','inline',"/\\[:amazon ([A-Z;,a-z,0-9,' ']+):\\]/",
"PRR().amazon(\$m[1])");


function Amazon($name) {


include('/www/htdocs/drtaarde/inc/config.php'); //Datenbankverbindung herstellen


$sql = "SELECT * FROM d029a62b WHERE asin LIKE '%$name%';";

$db_erg = mysqli_query( $link, $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysqli_error());
}


while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))
{

$text = $zeile['largeimage'];
$text = $zeile['link'];
$text = $zeile['name'];












return $text;
}
}
?>
0

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

Ваш перезаписать $test переменная и просто хранить последние данные name:

$text = $zeile['largeimage'];
$text = $zeile['link'];
$text = $zeile['name'];

Итак, вы, наконец, хранить в $text значение в $zeile['name'],

Если вы хотите просто вернуть эти 3 значения, вы можете, например, создать ассоциативный массив только с этими 3 значениями и вернуть его, что-то вроде;

return [
'largeimage' => $zeile['largeimage'],
'link' => $zeile['link'],
'name' => $zeile['name']
];

а потом обрабатывается как хочешь.

Кроме того, вы возвращаете значение внутри цикла while: ваша функция должна возвращать его после обработки всех данных:

function Amazon($name) {

include('/www/htdocs/drtaarde/inc/config.php'); //Datenbankverbindung herstellen

$sql = "SELECT * FROM d029a62b WHERE asin LIKE '%$name%';";
$db_erg = mysqli_query( $link, $sql );

if ( ! $db_erg ) {
die('Ungültige Abfrage: ' . mysqli_error());
}

$response = [];
while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC)) {
$response[] = [
'largeimage' => $zeile['largeimage'],
'link' => $zeile['link'],
'name' => $zeile['name']
];
}

return $response;
}

Обновить
Вероятно, это не работает, потому что сейчас Amazon Функция возвращает массив, и перед строкой, так что вы можете кодировать массив в JSON, так что вы получите строку в виде JSON, как [{"largeimage":"largeimagevalue1","link":"linkvalue1","name":"namevalue1"},{"largeimage":"largeimagevalue2","link":"linkvalue2","name":"namevalue2"}]так что вы должны вернуть что-то вроде:

return json_encode($response);
0

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