将 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 = SELECTreg_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的主要内容,如果未能解决你的问题,请参考以下文章
如何从 HTML/PHP 中的单个 <select> 变量中获取多个值?
如何将简单的 SQL 查询存储到用户定义的变量中并在 MySQL 中执行?