2008-10-31 3 views
0

Я новичок в PHP и пытается получить следующий код для работы:

<?php 
include 'config.php'; 
include 'opendb.php'; 

$query = "SELECT name, subject, message FROM contact"; 
$result = mysql_query($query); 

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    echo "Name :{$row['name']} <br>" . 
     "Subject : {$row['subject']} <br>" . 
     "Message : {$row['message']} <br><br>"; 
"ARTICLE_NO :{$row['ARTICLE_NO']} <br>" . 
"ARTICLE_NAME :{$row['ARTICLE_NAME']} <br>" . 
"SUBTITLE :{$row['SUBTITLE']} <br>" . 
"CURRENT_BID :{$row['CURRENT_BID']} <br>" . 
"START_PRICE :{$row['START_PRICE']} <br>" . 
"BID_COUNT :{$row['BID_COUNT']} <br>" . 
"QUANT_TOTAL :{$row['QUANT_TOTAL']} <br>" . 
"QUANT_SOLD :{$row['QUANT_SOLD']} <br>" . 
"STARTS :{$row['STARTS']} <br>" . 
"ENDS :{$row['ENDS']} <br>" . 
"ORIGIN_END :{$row['ORIGIN_END']} <br>" . 
"SELLER_ID :{$row['SELLER_ID']} <br>" . 
"BEST_BIDDER_ID :{$row['BEST_BIDDER_ID']} <br>" . 
"FINISHED :{$row['FINISHED']} <br>" . 
"WATCH :{$row['WATCH']} <br>" . 
"BUYITNOW_PRICE :{$row['BUYITNOW_PRICE']} <br>" . 
"PIC_URL :{$row['PIC_URL']} <br>" . 
"PRIVATE_AUCTION :{$row['PRIVATE_AUCTION']} <br>" . 
"AUCTION_TYPE :{$row['AUCTION_TYPE']} <br>" . 
"INSERT_DATE :{$row['INSERT_DATE']} <br>" . 
"UPDATE_DATE :{$row['UPDATE_DATE']} <br>" . 
"CAT_1_ID :{$row['CAT_1_ID']} <br>" . 
"CAT_2_ID :{$row['CAT_2_ID']} <br>" . 
"ARTICLE_DESC :{$row['ARTICLE_DESC']} <br>" . 
"DESC_TEXTONLY :{$row['DESC_TEXTONLY']} <br>" . 
"COUNTRYCODE :{$row['COUNTRYCODE']} <br>" . 
"LOCATION :{$row['LOCATION']} <br>" . 
"CONDITIONS :{$row['CONDITIONS']} <br>" . 
"REVISED :{$row['REVISED']} <br>" . 
"PAYPAL_ACCEPT :{$row['PAYPAL_ACCEPT']} <br>" . 
"PRE_TERMINATED :{$row['PRE_TERMINATED']} <br>" . 
"SHIPPING_TO :{$row['SHIPPING_TO']} <br>" . 
"FEE_INSERTION :{$row['FEE_INSERTION']} <br>" . 
"FEE_FINAL :{$row['FEE_FINAL']} <br>" . 
"FEE_LISTING :{$row['FEE_LISTING']} <br>" . 
"PIC_XXL :{$row['PIC_XXL']} <br>" . 
"PIC_DIASHOW :{$row['PIC_DIASHOW']} <br>" . 
"PIC_COUNT :{$row['PIC_COUNT']} <br>" . 
"ITEM_SITE_ID :{$row['ITEM_SITE_ID']}; 
} 

include 'closedb.php'; 

?> 

Однако я получаю эту ошибку:

Parse error: syntax error, unexpected $end in C:\Programme\EasyPHP 2.0b1\www\test.php on line 56 

Я также хотел бы знаете, есть ли более простой способ получить записи mysql вместо ввода вручную?

редактировать:

Я установил точку с запятой и цитата вопрос, и теперь получить:

Parse error: syntax error, unexpected T_STRING in C:\Programme\EasyPHP 2.0b1\www\test.php on line 51 

Я сожалею, что я не знаю, как сделать цвета в коде.

+0

Вы можете форматировать свой код, поместив 4 пробела в начале каждой строки кода. – 2008-10-31 12:21:03

ответ

7

Редактировать

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


У вас есть точка с запятой в середине вашей строки, две линии после эха.

Кроме того, в конце строки отсутствует двойной кавычки.


Насколько более рациональный способ вывести все значения идет, вы можете цикл по массиву результат:

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    foreach($row as $field=>$value) 
    { 
    echo "$field: {$value} <br />"; 
    } 
} 
+0

Кроме того, отверстия для инъекций HTML приводят к уязвимостям межсайтового скриптинга. Всегда завершайте вывод текста в htmlspecialchars(). – bobince 2008-10-31 12:34:51

2

Для второй части вашего вопроса, вы можете сделать это, если имена полей все логичны:

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    foreach($row as $key => $value) 
    { 
    echo "$key: $value\n"; 
    } 
} 
0

Редактировать: Ваш SQL-запрос возвращает только 3 поля. Но вы пытаетесь получить доступ к гораздо большему, чем это. Попробуйте «SELECT *», если вы хотите вернуть все поля таблицы. В противном случае убедитесь, что вы выбрали поля, которые вы пытаетесь прочитать (вероятно, не потому, что вы получаете сообщение об ошибке, а просто наблюдение).

Синтаксис Раскраска

include 'closedb.php'; 

?> 

указывает, что строка не хватает закрывающей кавычки. Линия

"ITEM_SITE_ID :{$row['ITEM_SITE_ID']}; 

подтверждает это.

Также линия

"Message : {$row['message']} <br><br>"; 

заканчивает конкатенации. Вероятно, период полуколонки должен быть периодом.

Смежные вопросы