このクエリが機能していませんが、それが何であるかわかりません。メールでアクティブなスクリプトを書いています。これはURLです。
http://www.example.com/activate.php?id=1&h=secretkey1
これはどのようactivate.php
に見えるかです。
<?php
require "inc/connect.php";
$id = (int)$_GET['id'];
$hash = mysql_real_escape_string($_GET['h']);
$sql = mysql_query("SELECT id, h, active FROM tablename WHERE id=$id AND key=$hash") or die(mysql_error());
$row = mysql_fetch_array($sql);
if ($row['active'] == "1") {
echo "error!";
}
elseif ($row['active'] == "0") {
mysql_query("UPDATE tablename SET active=1 WHERE id='$id' AND key='$hash'");
}
?>
これは私が得るエラーです。
SQL構文にエラーがあります。1行目の「key=secretkey1」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
私のデータベースには、テストフィールドがtablename
あります。
id / key / active
------------------
1 / secretkey1 / 0