我没有错误,我的所有打印声明都告诉我我做得很好,但我在所需列下的字段保持不变。
发生了什么(或者更确切地说没有发生)?
if ($current && $new) {// the validation code is left out
$sqlTekst = "UPDATE gebruikers SET pasW = ". $_POST[nieuwPasw] ." WHERE gebruikersNr = ". $_POST[gebruikersNr];
print 'huidig POST gebruikersNr = $_POST[gebruikersNr]';
// server koppeling
$db = mysql_connect("localhost", "internet", "geheim");
// database koppeling
mysql_select_db("site_met_aanmelden", $db)
or die("Kan database gebruikers niet openen".mysql_error());
$resultaat = mysql_query($sqlTekst, $db);
}
答案 0 :(得分:1)
您是否“提交”了数据库更改?
答案 1 :(得分:1)
为实际查询执行添加错误处理
照顾可能的sql注射
检查受影响的行以查看您的WHERE条件是否有效
格式化并缩进你的sql语句,你会得到一个稍微有意义的错误信息
打印您的sql语句,以便检查所有参数
使用$ array ['string']而不是$ array [string]
if ($current && $new) { // the validation code is left out
$db = mysql_connect("localhost", "internet", "geheim") or die("connect failed. ".mysql_error());
mysql_select_db("site_met_aanmelden", $db) or die("Kan database gebruikers niet openen".mysql_error());
$sql_pasW = mysql_real_escape_string($_POST['nieuwPasw'], $db);
$sql_gebruikersNr = mysql_real_escape_string($_POST['gebruikersNr'], $db);
$sqlTekst = sprintf("
UPDATE
gebruikers
SET
pasW='%s'
WHERE
gebruikersNr ='%s'
", $sql_pasW, $sql_gebruikersNr
);
echo 'Debug '.__FILE__.__LINE__.': ', $sqlTekst, "\n";
$resultaat = mysql_query($sqlTekst, $db) or die('query failed: '.mysql_error());
echo 'affected rows: ', mysql_affected_rows($db);
}
答案 2 :(得分:0)
我认为至少您的$_POST['nieuwPasw']
或$_POST['gebruikersNr']
是字符串,并且您不会在查询中附上'。
您的工作查询将是
$sqlTekst = "UPDATE gebruikers SET pasW = '". $_POST['nieuwPasw'] ."' WHERE gebruikersNr = '". $_POST['gebruikersNr']."'";
只需替换一个字符串。
如果查询中出现错误,您还可以使用mysql_error 函数获取信息。
添加
if (!$resultaat) {
echo mysql_error();
}
这会在查询期间出现打印错误。
我还建议将数组键包含在叛逆者中(双重或单数 - 并不重要)。
答案 3 :(得分:0)
我会修复如下:
$sqlTekst = "UPDATE gebruikers SET pasW = '". $_POST["nieuwPasw"] ."' WHERE gebruikersNr = ". $_POST["gebruikersNr"];
假设您的Nr
指的是在select中不需要引号的数字。
答案 4 :(得分:0)
尝试这样:
$sqlTekst = "UPDATE gebruikers SET pasW = '". $_POST[nieuwPasw] ."' WHERE gebruikersNr = '". $_POST[gebruikersNr]."'";