因此,我學習PHP,我想嘗試構建一個像小型貨幣化的URL縮短器,只是爲了好玩!所以每次有人點擊一個用戶鏈接時,應該在MySQL表中添加一次點擊(針對用戶)。我嘗試了很多腳本,但都不工作。爲每個用戶顯示點擊次數
<html lang="en-US">
<?php
$servername = "***";
$username = "***";
$password = "***";
$dbname = "***";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
mysqli_query("UPDATE users SET 'hits' = 'hits'+1 WHERE id = 1");
?>
再經過顯示通過$行[「」]在儀表盤的用戶的點擊...但是當我爲onload的頁面不計算點擊次數......在mysql數據庫中的數呢'改變...我做錯了什麼。 Alsom你有更專業的想法如何做到這一點,因爲我知道,這不是一個很好的選擇......我也有類似的東西,但它不工作太...
$user_ip=$_SERVER['REMOTE_ADDR'];
$check_ip = mysqli_query("select userip from pageview where page='1' and userip='$user_ip'");
if(mysqli_num_rows($check_ip)>=1)
{
}
else
{
mysqli_query("insert into pageview values('1','1','$user_ip')");
mysqli_query("update users set 'hits' = 'hits'+1 where id=1 ");
}
**警告**:使用'mysqli'時,應該使用[參數化查詢](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和['bind_param' ](http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢。 **不要**使用字符串插值或連接來完成此操作,因爲您創建了嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 **不要**將'$ _POST','$ _GET'或**任何**用戶數據直接放入查詢中,如果有人試圖利用您的錯誤,這可能會非常有害。 – tadman
您對'hits'列使用了錯誤的符號。嘗試刪除單引號,它們不是必需的。如果您確實需要轉義列名稱,請使用反引號。 – tadman
mysqli_query(「UPDATE users SET'hits' ='hits' + 1 WHERE id = 1」); 我試過這個,但它不工作 –