[英]MySQL Query INSERT INTO issue
我正在嘗試進行一個簡單的查詢,該查詢將使用用戶上次登錄的時間來更新用戶數據庫。我的SQL數據庫具有幾列id | first_name | last_name | username| password | date_created | last_login
id | first_name | last_name | username| password | date_created | last_login
id | first_name | last_name | username| password | date_created | last_login
我要運行的查詢是:
$sql="INSERT INTO (CLL_users) SET last_login= $dateCreated WHERE username= $username";
$result=mysql_query($sql);
這是成功驗證后加載的頁面的全部代碼,由於SQL注入,我的確意識到它是最差的方法,但是一旦獲得正確的查詢,我將為PDO准備的語句重新編碼,這只是我發現的一個示例另一個網站,我正在對其進行修改以添加last_login參數。
<?php
session_start();
$host="localhost"; // Host name
$username="user"; // Mysql username
$password="XXXXX"; // Mysql password
$db_name="DB"; // Database name
$tbl_name="users"; // Table name
date_default_timezone_set('America/Chicago');
$dateCreated = date('m/d/Y h:i:s a', time());
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="INSERT INTO (CLL_users) SET last_login= $dateCreated WHERE username= $username";
$result=mysql_query($sql);
if(!session_is_registered(myusername)){
header("location:main_login.php");
}
?>
<html>
<head>
<title> Welcome</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LINK href="CLL.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php echo $dateCreated ?>
<p>Login Successful</p>
</body>
</html>
$sql="update CLL_users SET last_login= $dateCreated WHERE username= $username";
$result=mysql_query($sql);
您將需要在dateCreated和用戶名變量周圍加上單引號。
另外,您需要使用一條update語句來更新現有記錄,而不是執行插入操作。 如果回顯$ sql變量,您將看到插入語句無效,並且如果嘗試在數據庫上手動運行它,則該語句將不起作用。
例如。 $sql="UPDATE CLL_users SET last_login='$dateCreated' WHERE username='$username'";
您不能使用INSERT更新表中的現有記錄。 使用UPDATE查詢
$sql="UPDATE CLL_users SET last_login= '$dateCreated' WHERE username= '$username'";
好吧,首先,我建議您用單引號將變量引起來,然后我建議您對插入使用以下語法。 插入表(COLUMN1,COLUMN2,COLUMN3)VALUES('value1','value2','value3')
如果要更新行而不是插入某些內容,還可以將INSERT INTO替換為UPDATE。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.