0

私はmysqlを使用して、tinymceで保存されたニュースのパスを保存しますが、ニュースをフォルダーに保存し、DBに挿入しないというコード投稿から、奇妙なことに、mysqlからエラーが発生しません。これが私のコードです、私の悪い英語から感謝と申し訳ありません:D

<?php
/*

Configuration file
for write_post.php


*/
include ('config_db.php');
$query = "INSERT into news (path,count) values ('$qry', '1')";
$qry = NULL;
   $cat= $_POST['cat'] . "/";
   $newsTitel   = isset($_POST['title']) ? $_POST['title'] : 'Untitled';
   $submitDate  = date('Y-m-d g:i:s A');
   $newsContent = isset($_POST['newstext']) ? $_POST['newstext'] : 'No content';
   $qry = $cat.$_POST['title'].".txt";

   //$filename = date('YmdHis');
   $filename = $newsTitel;
   $f = fopen($cat . $filename.".txt","w+");    
   fwrite($f,$newsTitel."\n");
   fwrite($f,$submitDate."\n");
   fwrite($f,$newsContent."\n");
   fclose($f);
   //$post = $cat . $filename . ".txt";
   if($mysqli->query($query)){
       echo "<br/>";
       echo "News inserita con successo!";
   }else{
       echo "<br/>";
       echo "Errore\n" . $mysqli->error;
   }
   echo "<br/>";
   // Try to echo $variable to check if is correct, and is ok but don't go into db 
   echo $qry;
?>
4

1 に答える 1

1

$qry を準備する前に変数 $query を準備しています。したがって、次のことを試してください。

ただし、sprintf() を mysql_real_escape_string() とともに使用しておらず、データベース インジェクションを回避するために強く推奨されている mysqli 変数置換を使用していないことに注意してください。

<?php
/*

Configuration file
for write_post.php


*/
include ('config_db.php');
$qry = NULL;
   $cat= $_POST['cat'] . "/";
   $newsTitel   = isset($_POST['title']) ? $_POST['title'] : 'Untitled';
   $submitDate  = date('Y-m-d g:i:s A');
   $newsContent = isset($_POST['newstext']) ? $_POST['newstext'] : 'No content';
   $qry = $cat.$_POST['title'].".txt";

   //$filename = date('YmdHis');
   $filename = $newsTitel;
   $f = fopen($cat . $filename.".txt","w+");    
   fwrite($f,$newsTitel."\n");
   fwrite($f,$submitDate."\n");
   fwrite($f,$newsContent."\n");
   fclose($f);
   //$post = $cat . $filename . ".txt";

   // preparing query here
   $query = "INSERT into news (path,count) values ('$qry', '1')";

   if($mysqli->query($query)){
       echo "<br/>";
       echo "News inserita con successo!";
   }else{
       echo "<br/>";
       echo "Errore\n" . $mysqli->error;
   }
   echo "<br/>";
   // Try to echo $variable to check if is correct, and is ok but don't go into db 
   echo $qry;
?>
于 2013-03-23T15:16:59.413 に答える