her zaman son satırında php ayrıştırma hatası [kapalı]

5 Cevap php

Ben bir mysql tabloda depolanan bir yorum okumak için çalışıyorum. Son satırı boş olsa bile nedense hep dosyasının son satırına bir ayrıştırma hatası alıyorum. Ben alakalı ama connect.php veritabanına Yorum koymak için çalışıyor emin değilim. Ben onu barındırmak için WAMPServer kullanarak ve elle kodlama ediyorum.

Elimden süre dışarı yorum zaman) (while döngüsü ile ilgili bir şey var {ve} beklediğiniz gibi sonuna sadece bir kaç eksik değişken hataları almak olduğunu düşünüyorum. Ben bu yüzden sorun ben ya da cevapsız veya düzgün anlaşılamamış ettik basit bir şey olacak eminim kodlama php oldukça yeniyim.

Neyse, benim kod:

<?php
include "connect.php";
?>

<?php
$sql = "SELECT * FROM main";
$result = mysql_query($sql) or die("Could not get posts from table");
while($rows=mysql_fetch_array($result)){
?>
     <table bgcolor="green" align="center">
     <tr>
     <td></td>
     </tr>
     <tr>
     <td><strong> <? echo $rows['name']; ?> </strong></td>
     </tr>
     <tr>
     <td> <? echo $rows['email']; ?> </td>
     </tr>
     <tr>
     <td> <? echo $rows['comment']; ?> </td>
     </tr>
     </table>
<?
}
?>

Yardımlarınız için teşekkürler. :)

5 Cevap

Eğer PHP, kısa etiketler devre var gibi görünüyor. Bu yüzden

değiştirmek

<?

ile

<?php

Kısa etiketleri kullanarak program, taşınabilir kaçınınız yapmak. Hala kısa etiketleri kullanmak zorunda iseniz o zaman etkinleştirebilirsiniz. this bunu bilmek göndermek bakın.

Eğer kısa etiketler etkin var mı? Kodunuzu alt bu gibi görünüyor:

<? 
} 
?> 

Kısa etiketler etkin değil iseniz, <?php ile bir php etiketi açmalısınız

<?php
} 
?>

Orada bir } bekliyor çünkü doğru açılış etiketine sahip değil son satırında bir hata neden olur. Ayrıca bkz: http://www.bin-co.com/php/articles/using_php_short_tags.php

Kısa yolu her zaman mevcut değildir. Yapılandırmak için enable-short-tags seçeneği - kısa etiketler PHP short_open_tag yapılandırma dosyasının parametresini ayarlayarak, short_tags fonksiyonu () (PHP 3, sadece) ile kullanılabilir, ya da PHP derleme. Bu php.ini-dist varsayılan olarak açık olsa da, kısa etiketler formatında kullanımını teşvik etmemektedir.

Bu yeterli olmayabilir rağmen, manuel yinelemek ve aynı zamanda uygun değil diğer durumlar genişleyen:

"Not: dağıtılması içindir uygulamaları ya da kütüphaneleri geliştirirken kısa etiketleri kullanmayın, ya da o kısa etiketler olabilir çünkü, sizin kontrolünüz altında olmayan sunucular için geliştirilmiş zaman sunucu desteklenmiyor taşınabilir, yeniden dağıtılabilir oluşturmak için. kodu, kısa etiketleri kullanmak için değil emin olun. "

Aslında, PHP 6 veya 7'de, bu etiketleri kaldırılacaktır.

BTW, Zend Framework kılavuzunda açıkça söylüyor "Kısa etiketler asla izin verilmez" :)

Eğer başka bir php dosyasına dosya eklerseniz dosyanızın çok sonunda kapanış PHP etiketi kaldırmayı deneyin (ve tabii, tam etiket adlarını kullanın):

   ....<td> <? echo $rows['comment']; ?> </td>
 </tr>
 </table>
<?php
}

Ben göründüğü gibi olmayan karakterler tarafından zaman bir çift kapalı atılmış. Ben tarayıcılardan kodu yapıştırılan kopyası varsa, ben bulduk silme ve "ve" hataları temizler yeniden yazmak.