gpt4 book ai didi

php - 将 mysql select 查询与 php 变量连接起来?

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:30 25 4
gpt4 key购买 nike

我正在尝试将 MySQL SELECT 查询与 PHP 变量连接起来,但出现错误。我给出错误的 PHP 语句是:

 $result=mysql_query("SELECT user_id,username,add FROM users WHERE username =".$user."AND password=".$add);

错误为:

( ! ) Notice: Undefined variable: info in C:\wamp\www\pollBook\poll\login.php on line 18
Call Stack

我不明白我在哪里遗漏了代码。当我在不使用 WHERE 子句的情况下编写查询时,它工作正常。

最佳答案

您的代码无法正常工作的原因

您正在尝试使用尚 undefined variable $info。当您尝试使用一个 undefined variable 时,您实际上是在将任何内容连接到一个字符串中,但是因为 PHP 是松散类型的,它会在您引用它的第二个变量时声明它。这就是为什么您看到的是 notice 而不是 fatal error。你应该检查你的代码,并确保 $info 得到一个分配给它的值,并且它不会在某个时候被另一个函数覆盖。然而,更重要的是,请阅读下文。


停止你正在做的事情


这很容易受到一种称为 SQL Injection 的攻击.我不会告诉您如何连接 SQL 字符串。这是糟糕的做法。

您应该在PHP 中使用mysql 函数。它们已被弃用。而是使用带有准备好的语句的 PHP PDO 对象。这是一个相当不错的tutorial .

示例


阅读完this tutorial ,你将能够制作一个 PDO 对象,所以我会把那部分留给你。

下一步是使用 prepare 方法添加查询:

$PDO->prepare("SELECT * FROM tbl WHERE `id` = :id");
// Loads up the SQL statement. Notice the :id bit.
$actualID = "this is an ID";
$PDO->bindParam(':id', $actualID);
// Bind the value to the parameter in the SQL String.
$PDO->execute();
// This will run the SQL Query for you.

关于php - 将 mysql select 查询与 php 变量连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15293199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com