【问题标题】:How to use a php variable in a query to SELECT something WHERE thing = $thing? [closed]如何在查询中使用 php 变量来 SELECT something WHERE thing = $thing? [关闭]
【发布时间】:2020-08-18 15:48:13
【问题描述】:

数小时以来一直试图解决这个问题,但无法从我见过的任何其他问题或资源中找出解决方案。尝试了无数其他方法,但这是最近的尝试,我错过了什么?

session_start();
$email = $_SESSION["email"];
echo $email;

$sqlget = "SELECT clubID FROM users WHERE email = '$email'";
$sqldata = mysqli_query($link, $sqlget) or die('error');
echo $sqldata;

对 SQL 和 PHP 非常陌生,非常感谢您的帮助!

【问题讨论】:

标签: php mysql


【解决方案1】:
  1. 我做的第一件事是转义将要传递给查询的字符串以防止 SQL 注入,但这可能会有所帮助,但不会为您提供全面保护,请考虑使用准备好的语句。
  2. 您正在尝试将mysqli_query() 结果作为字符串输出,您不能这样做,您必须从结果中获取数据到某种数组,然后使用while 循环获取它。获取您需要的数据mysqli_fetch_assoc() 函数。
  3. 随意将列名更改为您想要的任何内容,从 clubID 到 clubName 例如,如果您有名为 clubName 的列名,如果您想输出所有列数据,但在 select 语句中,您也可以将它们并排放置您必须获取* 数据才能以任何方式复制并粘贴以下代码并让我们知道会发生什么。 {}这是为了能够在双 qoute 中使用单 qoute 从数组中获取数据,如果您不这样做,变量将不会扩展。

.

<?php
    session_start();
    $email = mysqli_real_escape_string($link,$_SESSION["email"]);
    echo $email;
    $sqlget = "SELECT clubID FROM users WHERE email = '$email'";
    $sqldata = mysqli_query($link, $sqlget) or die('error');
    while($sqloutput=mysqli_fetch_assoc($sqldata)){
        echo "{$sqloutput['clubID']}</br>";
    }
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2021-02-28
    • 2010-12-14
    • 2019-05-27
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多