PDITEを使用してSQLite3でCRUDを使用する。文字列 'did not'を挿入すると、文字列は 'didn \' t 'としてテーブルに入ります。PDO SQLiteシングルクォートバックスラッシュをエスケープ
それで、後で文字列を読んで、HTMLに出力すると、私のウェブページには表示されません。
したがって、PDOがバックスラッシュでINSERTの一重引用符をエスケープしている場合、どのように表示するためにエスケープするバックスラッシュを取り除きますか?
それは意味がありますか?
EDIT - コードを含む。 $ eventBodyは問題の文字列です。
try {
$db = new PDO('sqlite:../posts.sqlite');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo $e->getMessage();
die;
}
//using the sqlite functions to do date/time stuff
$query = 'INSERT INTO posts (eDay, eMonth, eYear, eTitle, eBody,author, eURL, eTime)
VALUES(strftime(\'%d\',\'now\') , strftime(\'%m\',\'now\') , strftime(\'%Y\',\'now\') ,"'. $eventTitle .'","'.$eventBody.'","' . $eventAuthor. '","' . $eventURL . '",time(\'now\',\'localtime\'));' ;
try
{
$result=$db->query($query);
if(!($result))
{
echo "INSERT FAILED.<br>";
echo "QUERY STRING: ".$query ." <br>";
die;
}
echo "Successfully Added Record";
$eventTitle = '';
$eventBody='';
$eventURL='';
$eventAuthor='';
// urlRedirect("Referback.php");
}
catch (PDOException $ex)
{
echo $ex->getMessage();
die;
}
catch (Exception $exc)
{
echo $exc->getMessage();
die;
}
}
挿入コードを教えていただけますか? – greut
PHPとSQLを混在させているので、クエリを構築する方法はうまくいかない。 – greut