私はユーザー入力を取得するHTMLページを持っている。私はそれらの値を取って、私のmysqlデータベースのクエリを実行しています。これは私のPHPコードです。PHPで正しくクエリが実行されないが、mysqlでクエリが実行されない
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$username = "xxx";
$password = "xxx";
$A = $_POST['A'];
$B = strtoupper($_POST['B']);
$C = $_POST['C'];
$D = $_POST['D'];
$E = $_POST['E'];
$F = $_POST['F'];
try {
$conn = new PDO('mysql:host=yyyy;dbname=' . $A, $username, $password);
echo "Connected Successfully <br>";
} catch (PDOException $e) {
print "ERROR! : " . $e->getMessage() . "<br/>";
die();
}
$query = "call query(?,?,?,?,?,1,'filename.txt')";
$stmt = $conn->prepare($query);
$stmt->execute(array($B, $C, $D, $E, $F));
?>
このコードではエラーは発生しませんが、スクリプトは実行する必要のあるジョブを実行していません。私は、MySQLデータベースにアクセスし、クエリ
コールクエリー(r_value、r_value、r_value、r_value、r_value、1、 'ファイル名.txt')を実行する場合、
ファイル名を含むファイルを作成し、書き込みジョブを完璧に実行します。 PHPを使用すると、同じ結果が達成されていませんが、スローされたエラーは表示されません。
この照会手順の役割は、入力に基づいていくつかの照会を実行し、その結果が出力ファイルに書き込まれ、そのロケーションがパラメーターとして渡されることです。 ありがとうございます
注:また、 ';'を追加しようとしました。 $クエリでは違いはありませんでした。
編集:私は、単純なクエリの代わりに、プリペアドステートメントを使用していたときに 動作しているようですが、私はSQLインジェクション
注:疑問符プレースホルダは引用符を必要としません – Ghost
また、DBユーザーがストアドプロシージャを使用するための正しいアクセス許可を持っていることを確認してください。 – ArtisticPhoenix
はい、おそらく書き込みに関する許可がありません。 – Yvan