-1

PHP の 1 つの文字列に一致するすべての ' を置き換えようとしていますが、これが機能しない理由がわかりません。私はphpで新しいです。

命令は次のとおりです。

$val = "Hello I'm newer in PHP.";
$val = str_replace("'", "''", $val);

前に backslah を設定しようとしましたが、うまくいきません

私を手伝ってくれますか?

4

2 に答える 2

1

必要なのは、文字列を「db-safe」にすることです。ここにはいくつかのオプションがあります。

  1. mysql_real_escape_string「昔ながらの」mysql ドライバー (mysql_connect) を使用している場合に使用します。

    $str = mysql_real_escape_string("私は PHP の初心者です");

  2. PDO::quote()PDO を使用している場合に使用します。

    $conn = 新しい PDO(....); $str = $conn->quote("私は PHP の初心者です");

  3. 準備済みステートメントを使用してテーブルを挿入/更新します ( http://php.net/manual/de/mysqli.quickstart.prepared-statements.phpを参照)。

個人的には、複数の挿入/更新を行う場合にクエリを高速化し、最も安全な方法であるため、準備されたステートメントを好みます。

于 2013-11-09T21:47:58.270 に答える
0

最初の行の末尾にセミコロンがないことを除けば、作成したコードに問題はありません。

$val = "Hello I'm newer in PHP.";
$val = str_replace("'", "''", $val);
echo $val; // Hello I''m newer in PHP.
于 2013-11-09T21:22:16.480 に答える