将SELECT @ variable从SQL发送到PHP

时间:2015-01-05 23:09:09

标签: php mysql select

我有这句话在SQL中运行良好:

SET @cnt = (SELECT `reg_date` FROM logindb WHERE `userlogin`='urs'); 
SET @var = (SELECT TIME (@cnt)); 
SELECT @var

但如果我没有特定的列输出,我不知道如何获取数据。

在php中我正在尝试使用以下代码:

$sql = "SET @cnt = (SELECT `reg_date` FROM logindb WHERE `userlogin`='urs'); 
SET @var = (SELECT TIME (@cnt)); 
SELECT @var"
$result = $conn->query($sql);
$row = $result->fetch_assoc();
echo($row["@var"]);

修改: 致命错误:在第62行的C:\ xampp \ htdocs \ DAN \ autentificare.php中调用boolean上的成员函数fetch_assoc()

第62行:

  

$ row = $ result-> fetch_assoc();

我不知道如何在PHP中存储或查看该变量。 有什么帮助吗?

修改: 代码说明: 当我创建名为logindb的表时,我使用一个声明为TIMESTAMP的变量reg_date,每次填充同一行中的另一列时,该变量就会占用服务器时间。要恢复整个代码,只能从reg_date获取TIME:Ex。 2015-01-06 00:39:56我在@var输出的输出是00:39:56

谢谢,

2 个答案:

答案 0 :(得分:4)

试试这个:

SELECT @var as colName
....
echo($row["colName"]);

<强>更新

当我第一次阅读pst时,我认为问题是简化的。无论如何,要解决您的问题,您可以使用此代码。

$sql = "SELECT TIME(`reg_date`) FROM logindb WHERE `userlogin`='urs'";
$result = $conn->query($sql);
if (!$result)
{
    die('Error in query:' . mysql_error());
}

echo mysql_result($result, 0);

答案 1 :(得分:0)

以下代码(假设您的$ sql语句有效)

$row = $result->fetch_assoc();

返回一个关联数组。要访问该值,密钥将显示为:

$myresult = $row['column'];

*列是您在语句中选择的列,在您的情况下为'reg_date'