PHP запрос базы данных - PullRequest
0 голосов
/ 24 апреля 2018

Я запросил базу данных сервера sql и получил набор записей с 5 строками. Затем я перебрал набор записей, выполняя мой вывод. Все было хорошо, когда я использовал:

<?= $row.['Photo'] ?>

для вывода значения.

Когда я попытался спросить, было ли значение из базы данных нулевым, я столкнулся с проблемами. Примечание PHP: преобразование массива в строку.

if ($row.['Photo'] == "" || $row.['Photo'] == null){
    echo $row.['Photo'];
else{
    //something else;
}

Это было так, что если в записи не было указано ни одной фотографии, я мог бы показать что-то еще.

Я исследовал это и не смог найти ответ. Я пытался

$photo = strval($row.['Photo']);
$photo = implode("",$row.['Photo']);

Вот мой запрос:

$serverName = "IT-NEWITWEB-D\sqlexpress";
$connectionInfo = array( "Database"=>"eVENTS", "UID"=>"uSER", "PWD"=>"P@\$\$" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT tblEvents.EventID, tblEvents.Photo, tblEvents.title, tblLocation.Date, tblLocation.Location, tblEvents.unlist, tblEvents.description, tblEvents.Par_num FROM tblLocation INNER JOIN tblEvents ON tblLocation.Event_ID = tblEvents.EventID GROUP BY tblEvents.EventID, tblEvents.Photo, tblEvents.title, tblLocation.Date, tblLocation.Location, tblEvents.unlist, tblEvents.description, tblEvents.Par_num HAVING (((tblEvents.unlist)>getdate()) AND ((tblEvents.Par_num)=261));";
//$params = array();

$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$result = sqlsrv_query($conn, $sql);
while($row = sqlsrv_fetch_array($result)) {
 //if photo is empty, display date instead.
 }

Ответы [ 2 ]

0 голосов
/ 24 апреля 2018

Я думаю, что PHP интерпретирует, что вы пытаетесь объединить $ row с чем-то другим. Попробуйте удалить точки "$ row. ['Phone']".

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

if ($row['Photo'] != "" && $row['Photo'] != null){
    echo $row['Photo'];
else{
    //something else;
}

Или

if (is_array($row) && !empty($row['Photo'])) {
    echo $row['Photo'];
else{
    //something else;
}
0 голосов
/ 24 апреля 2018

вы делаете неправильно $row['Phone']; не это $row.[];

...