2014-02-27 67 views
1

所以我建立一个表session错误检查是否有表结果

session

session_name | *Text* 
session_number | *auto_increment* 

我要检查是否有session_name结果已经在表中,如果有是不是有独特session_number事务添加它,然后用这个数字创建一个会话,如果有的session_number事务添加到会话:

尝试

所有的
session_start(); 
ob_start(); 

if(isset($_POST['enter'])){ 
    if($_POST['name'] != ""){ 
     $_SESSION['name'] = stripslashes(htmlspecialchars($_POST['name'])); 
    } 
} 
$name = ucwords(strtolower($_SESSION['name'])); 

$method = "SELECT * FROM session WHERE session_name = '$name'"; 
$resulty = mysql_query($con, $method); 
//where $con is the connection to my database 
if(mysql_num_rows($resulty) == 0) { 
    //not found 
    $sql="INSERT INTO session (session_name) 

    VALUES 

    ('$name')"; 

} 

$result = mysql_query("SELECT * FROM session WHERE session_name = '$name'"); 

$row = mysql_fetch_row($result); 

echo $row[0]; 
echo $row[1]; // not sure which one is the session_number 
mysqli_close($con); 

首先我收到错误

Warning: mysql_query() expects parameter 1 to be string, object given 

Warning: mysql_num_rows() expects parameter 1 to be resource, null given 

怎么来的?


而且我怎样才能将session_number存储到另一个会话?

+0

旁注:您正在将'mysql_ *'与'mysqli_ *'函数混合在一起,所以很难确定要使用哪个函数。如果您的数据库连接是'mysqli_ *',那么您需要将所有功能切换到相同的状态。另外,'ob_start();'会在'session_start();'的顶部传递连接的外观'$ resulty = mysql_query($ con,$ method);'显然你是使用'mysqli_ *'---它是一个或另一个,你不能同时使用两个。这'预计参数1是资源'应该是一个死的赠品。 –

回答

1

你拥有了它逆转,$query是第一个参数,该$con对象是第二个参数

$method = "SELECT * FROM session WHERE session_name = '$name'"; 
$resulty = mysql_query($method, $con); 

请升级到mysqli_

-1

您的第二个错误是由您的第一个错误引起的。

你来的mysql_query呼吁应该像

$resulty = mysql_query($method); 
+0

我已经这样做了,它说它无法连接到MySQL – maxisme

+0

尝试调用[mysql_connect()](http://au1.php.net/manual/en/function.mysql-connect.php)? –

+0

是的'$ con = mysql_connect()' – maxisme