簡體   English   中英

MySQL查詢INSERT INTO問題

[英]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。

錯誤原因是,如果您想更新表,則沒有帶Set選項的插入查詢,對於sql變量,請遵循此操作

 $sql = "UPDATE CLL_users SET last_login= '$dateCreated' WHERE username='$username'";

用於插入的 文檔用於更新的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM