<?php
include "connect.php";
if (!$connection)
{
die('Could not connect: ' . mysql_error());
}
$submit = $_POST["submit"];
if ($submit=="Submit") {
$date = $_POST["date"];
$name = $_POST["name"];
$activity = $_POST["activity"];
$activity_level = $_POST["activity_level"];
$find_role = ("SELECT sales_role
FROM role
LEFT JOIN USER on user.role_id = role.id
WHERE user.user = '$name'");
$find_activity_points = ("SELECT $activity_$role
FROM $activity
WHERE activity_level = '$activity_level'");
$role = mysql_query($find_role);
$activity_points = mysql_query($find_activity_points);
if ($activity_points !== false) {
}
else {
echo mysql_error();
die;
}
$convert_activity_points = array();
while ($row = mysql_fetch_array($activity_points, MYSQL_ASSOC)) {
$convert_activity_points[] = $row;
}
$set_points = "UPDATE $name SET $activity='$convert_activity_points' WHERE day='$date'";
mysql_query($set_points);
}
mysql_close($connection);
?>
そしてこれはform.phpを提出して更新するときのエラーメッセージです。 php: SQL構文に誤りがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックしてください。正しい構文については、 'FROM dialer WHERE activity_level = '70'の近くの行1で使用してください。
P.S.私はSQLインジェクションの脆弱性があることを知っていますが、私はこのプログラムを使用する唯一の人であり、私は自分のコンピュータ上でローカルに使用しています。私は今、脆弱性は大丈夫です。
テーブルを0で更新し、エラーメッセージを表示しません。 SQLインジェクションの脆弱性、オリジナルのPS文
を参照
mysqlに渡されるsqlクエリは、 'echo'だけ見たことがありますか?また、なぜ '(" foo bar ")'のような文字列のまわりにかっこを追加しましたか? – zerkms
'activity_level'は数値型ですか? '70'の引用符でもかまいませんか? – AgentConundrum
誤字の可能性があります: "$ activity_ $ role" –