問題描述
只是嘗試將點(diǎn)添加到名為點(diǎn)"的列中的現(xiàn)有值.我已經(jīng)閱讀了一些建議下面的文章,但它對(duì)我不起作用.也許是因?yàn)槲沂褂玫氖?mysqli 而不是 mysql?有什么想法嗎?if 語句工作正常.
Simply trying to add points to an existing value in a column named 'Points'. I've read a few articles that suggest the beneath, but it's not working for me. Perhaps because I'm using mysqli rather than mysql? Any thoughts? The if statement works fine.
if (!empty($m1A) && ($r1A == 0)) {
// Rewards pts
$query = "UPDATE users SET Points=Points+3 WHERE 1A='$m1A'";
$result = mysqli_query($conn, $query);
// Record reward of pts
$query1 = "UPDATE rounds SET 1A = 1";
$result2 = mysqli_query($conn, $query1);
}
推薦答案
如果您的列名以數(shù)字開頭,則必須用反引號(hào)將其引用:
If your column name starts with a number, you have to quote it in backticks:
$query = "UPDATE users SET Points=Points+3 WHERE `1A`=$m1A";
和:
$query1 = "UPDATE rounds SET `1A` = 1";
我建議使用帶有綁定參數(shù)的準(zhǔn)備好的語句來避免 sql 注入問題.
And I would recommend using a prepared statement with bound parameters to avoid sql injection problems.
如果您的 1A
列不是整數(shù)列并且值是字符串,則需要將它們引用起來.
If your 1A
column is not an integer column and the values are strings, you need to quote them.
$query = "UPDATE users SET Points=Points+3 WHERE `1A`='$m1A'";
^ ^
雖然這個(gè)問題會(huì)通過準(zhǔn)備好的語句自動(dòng)解決...
Although that problem would be solved automatically with a prepared statement...
這篇關(guān)于MySQLi 更新的增量值的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!