Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql+;PHP问题_Php_Mysql - Fatal编程技术网

Mysql+;PHP问题

Mysql+;PHP问题,php,mysql,Php,Mysql,这是我的“个人”表: 这是我的php页面: <?php $loginquery = mysql_query('SELECT eid, email, sex FROM person WHERE email = "'example@example.com'" ;') or die("Query fail: " . mysql_error() ); $userlogin = mysql_fetch_array($loginquery); if($userlogin){ $_SESSION['e

这是我的“个人”表:

这是我的php页面:

<?php
$loginquery = mysql_query('SELECT eid, email, sex FROM person WHERE email = "'example@example.com'" ;') or die("Query fail: " . mysql_error() );
$userlogin = mysql_fetch_array($loginquery);

if($userlogin){
$_SESSION['eid']= $userlogin['eid'];
$_SESSION['email']= $userlogin['email'];
$_SESSION['sex']= $userlogin['sex'];
}


echo "user ".$_SESSION['eid']." ".$_SESSION['email']." ".$_SESSION['sex']; 
?>

这是输出:

使用者example@example.com女性


为什么没有打印
$\u会话['eid']

我尝试了这个方法,效果很好:
sqlErr()是我自己的错误处理函数

我至少看到两个bug

session_start()未被调用,它应该被调用

这个问题很奇怪:

$loginquery = mysql_query('SELECT eid, email, sex FROM person WHERE email = "'example@example.com'" ;') or die("Query fail: " . mysql_error() );
我不知道为什么这不会产生错误,但是您的字符串构建得不好。试试像这样的东西

$loginquery = mysql_query("SELECT eid, email, sex FROM person WHERE email = 'example@example.com';") or die("Query fail: " . mysql_error() );

在PHP字符串定界符的
中使用
'
作为MySQL字符串定界符时,您应该会出现语法错误。我认为这是一个输入错误,这有点奇怪,比如查询失败,因此
if
语句未得到满足,然后$\u会话变量保留其旧值(我不知道$_SESSION是如何工作的,恐怕)也许你以前在查询中没有
eid
?但我担心我刚才说的可能是胡说八道:)试试var_dump($_SESSION['eid'),看看它是否包含任何东西
var_dump($userlogin)
给你什么?
$loginquery = mysql_query('SELECT eid, email, sex FROM person WHERE email = "'example@example.com'" ;') or die("Query fail: " . mysql_error() );
$loginquery = mysql_query("SELECT eid, email, sex FROM person WHERE email = 'example@example.com';") or die("Query fail: " . mysql_error() );