Я запросил базу данных сервера 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.
}