![](/img/trans.png)
[英]How can I combine data from form and from three mysql tables to insert data in another table with php?
[英]How do I use SESSION data to SELECT 1 database entry and then INSERT into another table with data from a form as well with PHP and MySQL?
拋開所有安全問題。
我創建了一些會話數據。 此會話數據包括存儲在“myusername”下的用戶名。
我還創建了一個html表單,在我的一個表中添加一行。
我試圖從查詢中檢索一些數據(使用會話數據),並將其與已提交的表單數據放在一起。
基本上創建誰提交數據的記錄。
這是我的代碼:
<?php
session_start();
if ( isset( $_SESSION['user'] ) ){
header("location:failedlogin.html");
}
echo $_SESSION['myusername'];
var_dump($_SESSION);
//Connect
$con= mysql_connect("localhost","root","password");
if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("database1", $con);
//create Get UserId from user
$result= mysql_query("SELECT UserId FROM user
WHERE UserName='{$_SESSION['myusername']}'");
//I think this is where the problem is
//execute query and store results
if($result){
$data = mysql_fetch_assoc($result);
}
//insert form data and $data into database 1
$sql="INSERT INTO bug
(bugName, bugBy, bugPriority, bugFor, bugContainer, bugFixed, bugCommentCount)
VALUES ('$_POST[bugname]','$data[0]','$_POST[bugpriority]',
'$_POST[bugfor]','$_POST[bugcontainer]','0','0')";
if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); }
mysql_close($con)
?>
我似乎無法從SELECT
查詢中獲取數據,表單數據經過精細處理。
對不起,如果我把它放得很糟糕。 我發現很難理解我做錯了什么,所以我不知道如何解釋我正在尋找的東西。
感謝您的幫助! 如果您需要更多信息,請與我們聯系。
您的SQL語句不正確,變量需要轉義。
"...VALUES('". $_POST['bugname'] . "')";
正如你現在所擁有的那樣, $_POST[bugname]
將嘗試找到一個名為'bugname'的常量全局變量。 這不存在。
但是, $_POST['bugname']
將引用數組中的正確鍵。
我不得不提到這不僅是創建SQL語句的一種可怕方式,而且也非常不安全 。
你正在使用fetch_assoc,所以它返回一個關聯數組:
而不是$data[0]
insert $data['UserId']
如果沒有這樣做,你是否在插入語句之前檢查$data
是否有任何內容?
ps你應該學習PDO: http : //wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.