PHP插入两个不同的表

时间:2013-08-29 10:24:48

标签: php mysql database insert

我需要知道我是否可以将一些数据插入到两个数据库表中。

我有以下代码,验证用户是否已登录:

<?php
// Start the session (pretty important!)
session_start();

// Establish a link to the database
$dbLink = mysql_connect('localhost', 'DBUSER', 'PW');
if (!$dbLink) die('Can\'t establish a connection to the database: ' . mysql_error());

$dbSelected = mysql_select_db('DBNAME', $dbLink);
if (!$dbSelected) die ('We\'re connected, but can\'t use the table: ' . mysql_error());

$isUserLoggedIn = false;  
$query      = 'SELECT * FROM users WHERE session_id = "' . session_id() . '" LIMIT 1';  
$userResult     = mysql_query($query);  
if(mysql_num_rows($userResult) == 1){  
$_SESSION['user'] = mysql_fetch_assoc($userResult);  
$isUserLoggedIn = true;  
}else{  
if(basename($_SERVER['PHP_SELF']) != 'index.php'){  
    header('Location: index.php');  
    exit;  
}  
}  
?>

数据库外观如下:

数据库表:用户

---------------------------------------------------------------
| id | name | email | password | registered_date | session_id |
---------------------------------------------------------------

HTML表单不是必需的,因为你知道它的外观//

现在我有以下代码,它将一些数据插入到数据库表中..它的上层代码与不同的数据库表...

它的PHP代码:

<?php
include ('adresa-site.php');
if(isset($_POST['add']))
{
$dbhost = 'localhost';
$dbuser = 'DBUSER';
$dbpass = 'PW';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Eroare de conexiune: ' . mysql_error());
}

if(! get_magic_quotes_gpc() )
{
$link = $web_site.''.$_POST["stire"].'?idstire='.$_POST["idstire"];
$poza = addslashes ($_POST['poza']);
$nume = addslashes ($_POST['nume']);
$prenume = addslashes ($_POST['prenume']);
$varsta = addslashes ($_POST['varsta']);
$localitatea = addslashes ($_POST['localitatea']);
$numep = addslashes ($_POST['numep']);
$idstire = addslashes ($_POST['idstire']);
$stire = addslashes ($_POST['stire']);
$data = gmDate('Y-m-d H:i:s');
}
else
{
$link = $web_site."".$_POST['stire']."?idstire=".$_POST['idstire'];
$poza = htmlentities($_POST['poza'], ENT_QUOTES | ENT_HTML5);
$nume = htmlentities($_POST['nume'], ENT_QUOTES | ENT_HTML5);
$prenume = htmlentities($_POST['prenume'], ENT_QUOTES | ENT_HTML5);
$varsta = $_POST["varsta"];
$localitatea = htmlentities($_POST['localitatea'], ENT_QUOTES | ENT_HTML5);
$numep = htmlentities($_POST['numep'], ENT_QUOTES | ENT_HTML5);
$idstire = htmlentities($_POST['idstire'], ENT_QUOTES | ENT_HTML5);
$stire = $_POST["stire"];
$data = gmDate('Y-m-d H:i:s');
}


$sql = "INSERT INTO stiri2".
   "(link, poza, nume, prenume, varsta, localitatea, numep, idstire, stire, accesari,         data) ".
               "VALUES('$link','$poza','$nume','$prenume','$varsta','$localitatea','$numep','$idstire','$stire','$accesari', NOW())";
mysql_select_db('DBNAME');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Nu s-au putut adauga datele: ' . mysql_error());
}
echo "

<p class='text-center'>Copiaza si trimite link-ul de mai jos, prietenului tau</p>

<textarea rows='2' cols='55'>http://site.ro/" . $_POST['stire'] . "?idstire="     . $_POST['idstire'] . "</textarea>

<br />
<p class='text-center'>Acceseaza <a target='_blank'href='http://site.ro/" .     $_POST['stire'] . "?idstire=" . $_POST['idstire'] . "'>ACEST</a> link pentru     previzualizare</p>

";
mysql_close($conn);
}
?>

数据库外观如下:

数据库表: stiri2

--------------------------------------------------------------------------------------------------------
| id | link | poza | nume | prenume | varsta | localitatea | numep | idstire | stire | data | accesari |
--------------------------------------------------------------------------------------------------------

现在来自用户数据库表的用户希望在 stiri2 数据库表中插入新信息..

我必须从用户数据库表中获取 session_id ,并使用插入的信息更新用户 stiri2 数据库表..

我将创建一个litlle地图:

用户登录后,他的 session_id 就是 328234917238914

现在他想插入一些新的信息,它们将存储在 stiri2 数据库表中。

每个用户都会添加他们的信息,所以我必须做一些事情,不要重叠插入的信息..

我需要知道的是,如何为使用者安装插件......

我希望能够理解某些事情,如果有人可以帮助我,我会感激不尽。 谢谢..

1 个答案:

答案 0 :(得分:1)

你在寻找什么可能是这样的:mysql_insert_id http://php.net/manual/de/function.mysql-insert-id.php

您要做的是以下内容:用户注册,您获得该ID,并将此作为您的用户ID。

您可以将此用户ID存储在会话中。

如果您的用户登录,您将查找此ID并在其他查询中使用它。