2011-07-31 20 views
0

MySQLデータベースに特定のコード行を挿入する際に問題があります。 3行はうまく挿入されますが、何らかの理由で「html_href」行が挿入されません。ここに私のコードは次のとおりです。カスタムPHP関数のデータをMySQLデータベースに挿入

function html_path() { 
     $title = strtolower($_POST['title']);  // convert title to lower case 
     $filename = str_replace(" ", "-", $title); // replace spaces with dashes 
     $html_href = $filename . ".html";    // add the extension 
    } 

そして、私のMySQLのクエリコード:

$query = "INSERT INTO work (title, logline, html_href, synopsis) VALUES"; 
    $query .= "('".mysql_real_escape_string($_POST['title'])."',"; 
    $query .= "'".mysql_real_escape_string($_POST['logline'])."',"; 
    $query .= "'".html_path()."',"; 
    $query .= "'".mysql_real_escape_string($_POST['synopsis'])."')"; 

    $result = mysql_query($query); 

タイトル、logline、および概要値だけで罰金に行くが、html_href()機能は、空白行を挿入します。

+0

'html_path()'関数には戻り値がありません。私は '$ html_href'を返すと思っています。 – kba

+0

また、$ _POST ['title']のmysql_real_escape_stringも忘れないでください。そうでなければSQLインジェクションの脆弱性が存在します。 – drf

答えて

0

html_path()関数が何も返していないようです。

試してみてください。

function html_path() { 
    $title = strtolower($_POST['title']);  // convert title to lower case 
    $filename = str_replace(" ", "-", $title); // replace spaces with dashes 
    $html_href = $filename . ".html";    // add the extension 
    return $html_href; 
} 
+0

これはうまく動作します。ありがとう! –

0

あなたhtml_pathは()の$ html_href変数を返しません。あなたが閉じる前に、

return $html_href; 

を追加してください。完全に動作するはずです。

+0

それは完全に機能しました。ありがとう! –

+0

あなたは大歓迎です - あなたが満足しているときに正解をマークすることを忘れないでください:) – w0bni

関連する問題