は、私はPDO経由 DomDocument XMLが1行目から開始していません。原因XML不正なエラー
- は(IDに基づく)MySQLのテーブルからレコードを削除... PHPスクリプトを持って
- のGetそのテーブルのすべてのレコードの更新リストです
- は(DOMDOCUMENT経由)XMLとして
をリストを吐き出し、そして...問題は、私は、スクリプトを実行したとき、私は、次ののエラーメッセージが表示されていることである私はXMLのためのXHRタブをチェックする場合:
XML Parsing Error: XML or text declaration not at start of entity Location: moz-nullprincipal:{45b1a3cb-ef07-42c9-b4bd-b15ba996fb4c} Line Number 3, Column 1:
^
FirebugのでXHRタブの応答セクションを見て、私は、XMLは、ページの最上部の下に始まることに気づきました。正確には3行目。
だから... ...私は (すなわちhttp://mylocalsite.dev/ajax-delete-post-v02.php?dlt=40)を削除するレコードのIDを含むブラウザから直接電話をかけた
私は、ブラウザでの(ほとんど同じエラー(この時間を持っ請求):
XML Parsing Error: XML or text declaration not at start of entity Location: http://mylocalsite.dev/ajax-delete-post-v02.php?dlt=40 Line Number 3, Column 1: ^
以下は私が使用しているコードは次のとおりです。(私は単純にDBへの呼び出しを取る場合は、それが動作することに注意してくださいだから私は何か、私は余分なスペースを作成してやっていると仮定しています、しかし、私がそれを見つけることができます)
<?php
$doc = new DOMDocument('1.0','utf-8');
$posts = $doc->createElement('posts');
$doc->appendChild($posts);
// dynamically generate posts
// set DB connection vars
$hostname = "localhost";
$database = "somedb";
$username = "someuser";
$password = "somepassword";
$hostinfo = "mysql:host=$hostname;dbname=$database";
// connect to db
try
{
// Create the database handler
$dbh = new PDO($hostinfo,$username, $password);
// Set the error reporting attributes
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Create the sql string
$sql_select = 'SELECT * FROM posts ORDER BY date_start DESC';
// prepare the SQL statement
$stmt = $dbh->query($sql_select);
while($row = $stmt->fetch())
{
$post = $doc->createElement('post');
$post->setAttribute('id',$row['id']);
$p_text = $doc->createElement('text',htmlentities($row['text']));
$p_date_start = $doc->createElement('date_start',$row['date_start']);
$p_date_end = $doc->createElement('date_end',$row['date_end']);
$p_details_link = $doc->createElement('details_link',htmlentities($row['details_link']));
$posts->appendChild($post);
$post->appendChild($p_text);
$post->appendChild($p_date_start);
$post->appendChild($p_date_end);
$post->appendChild($p_details_link);
}
// Close the db connection
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
// for some reason this is writing it out starting on the third line???
echo $doc->saveXML();
?>
私は取得できません。ところで、私は私がグリーンホーンだと言いましたか?
:)
私はそれを見つけたおかげ 寝台
オープニングPHPタグの前に改行がありますか? の間にないものはすべて通常のテキストとして扱われるためです。 –
@ Jan-Henk Nope。トップに向けてフラッシュする。新しい行はありません。 – sleeper
私はこれを正しいグループに投稿しましたか?コメントはありません? – sleeper