我想知道如何从MySQL表中选择一个值。该表包括列username
和id
其他列(id
是自动递增的,并且username
是唯一的)。给定用户名,我想将一个会话变量设置为$_SESSION['myid']
等于给id
定用户名的列中的值。这是我已经尝试过的代码:
session_start();
$name = $_GET["username"];
$sql = "SELECT 'id' FROM Users WHERE username='$name'";
$result = mysql_query($sql);
$value = mysql_fetch_object($result);
$_SESSION['myid'] = $value;
到目前为止,我得到:
可捕获的致命错误:无法将类stdClass的对象转换为字符串。
强制转换$value
为字符串类型不能解决问题。
不要在查询中的字段名称或表名称中使用引号。
提取对象后,您需要通过属性/属性名称访问对象的属性/属性(以您的情况为ID)。
注意事项: 由于不建议使用mysql_ ,请使用mysqli_ 或PDO。 这里是使用mysqli的:
session_start();
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = new mysqli('localhost', 'username', 'password', 'db_name');
$link->set_charset('utf8mb4'); // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare("SELECT id FROM Users WHERE username=? limit 1");
$stmt->bind_param('s', $name);
$stmt->execute();
$result = $stmt->get_result();
$value = $result->fetch_object();
$_SESSION['myid'] = $value->id;
温馨提示:这种情况下使用限制1,可以节省执行时间:)
问题内容: 我知道这个问题已经被问过很多次了,但是我已经尝试了好几个小时,却没有任何效果,我是php和ajax的新手,所以,我可能会遗漏一个我不知道的小东西,我想要在这里实现的目的是,我希望用户选择一个食物组,然后基于该组显示配料表。 我单独测试了process.php文件,它运行良好,还测试了脚本,发生了什么事,当我注释掉并键入alert(parent)时,从$ .ajax开头的行不起作用了,我
我的数据库中有两个表。一个表包含有关用户的信息,而另一个表包含有关预订的数据。当用户进行预订时,userid将被放置在预订表中。现在,我想展示一张用户的照片,其中包括预订的备注和日期,但是照片在users表中。 这是我的两张桌子: null null
我有下面三张表,希望从中获得以下选择: 1。)从中选择所有项目,并在中按对给定用户进行分组 这意味着当用户登录时,他将看到属于他所属组的所有(且仅限于)项目 2.)对于每个,选择所有协作项目 这意味着当用户从上面的1中选择任何组()时,他将看到属于所选组()的所有项目 约束:每个用户必须是组成员。表用于提供用户的和 这是我尝试过的,但是没有用 这是桌子 谢谢你的意见!
问题内容: 我有一个像这样的程序: 我想从一个选择内调用此过程,如下所示: 但是我知道这是很痛苦的错误。有人可以指出我正确的方向吗?我将需要访问过程的所有列,以便在最终“选择”中(加入?)。该过程中的SQL代码很痛苦,因此首先要这样做! 问题答案: Ticket_FiscalTotals过程返回一个包含一些字段的数据集,但是您只需要其中一个- 。将您的过程重写为存储的函数- 。 另一种方法是在过程
问题内容: 我试图连接到我的数据库,当我运行代码时,出现错误。谁能告诉我我的PHP代码有什么错误和错误吗?谢谢。 PHP代码: .conf.php 文件: 问题答案: 除非您输入的密码不正确并且需要解决,否则运行一条语句来授予对数据库用户的访问权限: 以上授予所有特权。通常最好只限制需要的内容。例如,如果您仅打算选择而不是修改数据, 更新资料 由于您将数据库名称标识为,因此将调用更改为: 之后,由
问题内容: 这里完全没有想法,可能需要一个简单的解决方案。 基本上我想要的查询是: 我只想选择ID为3和4的行,或者命名为“ andy”和“ paul” 非常感谢您的回答 问题答案: 尝试: 或等效的: