将 SELECT @ 变量从 SQL 发送到 PHP

Posted

技术标签:

【中文标题】将 SELECT @ 变量从 SQL 发送到 PHP【英文标题】:Sending SELECT @ variable from SQL to PHP 【发布时间】:2015-03-03 13:54:03 【问题描述】:

我有这个语句在 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 中的布尔值上调用成员函数 fetch_assoc()

第 62 行:

$row = $result->fetch_assoc();

我不知道如何在 PHP 中存储或查看该变量。

代码说明: 当我创建名为 logindb 的表时,我使用了一个声明为 TIMESTAMP 的变量 reg_date,它在每次填充同一行的另一列时放置服务器时间。恢复整个代码仅用于从 reg_date 获取时间:例如。我在@var 中得到的 2015-01-06 00:39:56 输出是 00:39:56

【问题讨论】:

问题是查询不能运行多个语句。使用mysql_multi_query 我觉得你是对的,因为我还有其他 2 个查询比这个要高。我会试着带着结果回到这里。但我不知道如何实现这个:) 我会搜索。 是的..这就是问题所在。而且我不知道如何申请超过 2 个查询.. 【参考方案1】:

试试这个:

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

更新

当我第一次阅读这篇文章时,我认为这个问题很简单。无论如何,要解决您的问题,您可以使用此代码。

$sql = "SELECT TIME(`reg_date`) FROM logindb WHERE `userlogin`='urs'";
$result = $conn->query($sql);

echo $result->fetch_row[0];

【讨论】:

抱歉,我以为最后一行是问题所在,但这条语句的行是 $row = $result->fetch_assoc(); 有什么想法吗? 所以,上述解决方案不起作用。我收到错误消息:致命错误:在第 62 行调用 C:\xampp\htdocs\DAN\autentificare.php 中布尔值的成员函数 fetch_assoc()【参考方案2】:

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

$row = $result->fetch_assoc();

返回一个关联数组。要访问该值,键如下所示:

$myresult = $row['column'];

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

【讨论】:

在那一行 $row = $result->fetch_assoc(); 我有问题 $sql = SELECT reg_date FROM logindb WHERE userlogin='urs';这是一个完整的声明。解释你试图从数据库中得到什么。示例:我想获取某些单元格的值。或者我想更新某些单元格值。我无法理解您希望代码做什么。 当我创建名为 logindb 的表时,我使用了一个声明为 TIMESTAMP 的变量 reg_date,每次填充同一行的另一列时,它都会放置服务器时间。恢复整个代码仅用于从 reg_date 获取时间:例如。 2015-01-06 00:39:56 我在@var 中得到的输出是 00:39:56

以上是关于将 SELECT @ 变量从 SQL 发送到 PHP的主要内容,如果未能解决你的问题,请参考以下文章

在一个变量 sql 中接收多个值

如何从 HTML/PHP 中的单个 <select> 变量中获取多个值?

从地址变量到谷歌地图[关闭]

如何将简单的 SQL 查询存储到用户定义的变量中并在 MySQL 中执行?

在 C# 中使用 Dapper 将数据发送到 RECORD 类型的 PL/SQL 脚本变量会更好吗

sql 查询结果存储到变量