mysqli PHP扩展(“MySQL改进”)是PHP数据库驱动程序,包含自PHP 5以来。它利用了MySQL 4.1.3和更新版本中引入的新功能。
嗨,我需要一些帮助来解决我的问题。我收到此错误:已弃用:__autoload() 已弃用,请使用 spl_autoload_register()
我用 spl_autoload_register 进行了更改,然后出现其他错误。 致命错误:无法重新声明 spl_autoload_register 这是我原来的代码: 函数 __autoload( $f ) { require_once('后端/' . ...
所以我有一个列标题数组和一个位于同一索引的相应值数组 我需要在 SQL 中使用这两个数组来更新一行。 我知道这可能不是最好的做法...
所以我有一个列标题数组和一个位于同一索引的相应值数组 我需要在 SQL 中使用这两个数组来更新一行。 我知道这可能不是最好的做法...
我正在为某家公司开发一个网站,他们在 Infomaniak 上托管了一个临时的“即将推出”版本,他们向我发送了必要的信息,让我用完成的版本替换该版本
我总是从 $stmt->bind_param 或 $stmt->execute 中收到致命错误,我认为应该是与数据库的连接失败,但我似乎找不到问题。 这是我的表单处理程序...
php 和 sql 中的错误致命错误:未捕获类型错误:mysqli_query():参数 #1 ($mysql) 必须是 mysqli、字符串类型
尝试通过获取详细信息让用户登录但不起作用,请检查此 这是我的连接代码 尝试通过获取详细信息来让用户登录,但不起作用,请检查此 这是我的连接代码 <?php $server = "localhost"; $username = "root"; $password = ""; $database = "atm"; $conn = new mysqli($server ,$username ,$password ,"atm"); if(!$conn =""){ echo "connection is established<br>"; } ?> 我的主要文件代码是 <?php require_once "../configmain.php"; if(isset($_POST['login'])){ $username = $_POST["username"]; $password = $_POST["password"]; $adminqry = mysqli_query($conn,"select 'admin_id' from 'admin_details' where STATUS = '1' and username = '$username' and password = '$password';")or die (mysqli_error($con)); while($admin = mysqli_fetch_object($adminqry)){ $adminid = $admin -> admin_id; } session_start(); $_SESSION['adminid'] = $adminid; $adminid = $_SESSION['adminid']; echo $adminid; if(!$adminid){ header("Location: ./admin/adminmain.php"); exit(); } else{ echo "login error"; } } ?> 检查我的连接是否正常工作,如果我的数据库正常工作,但它也正常工作,正在与 xampp 服务器一起工作,请帮助我 你的问题是这一行: if(!$conn ="") 您没有检查 $connection 是否为空,您实际上是将其设置为空字符串。 尝试将您的支票更改为: if(!$conn->errno) 这将检查连接对象上是否有任何非零错误号。 试试这个 第 1 步:用下面给定的代码替换您的连接文件 <?php $server = "localhost"; $username = "root"; $password = ""; $database = "atm"; $conn = new mysqli($server ,$username ,$password ,$database); ?> 第 2 步:用下面的代码替换您的主文件代码 <?php require_once "../configmain.php"; if(isset($_POST['login'])){ $username = $_POST["username"]; $password = $_POST["password"]; $adminqry = mysqli_query($conn,"select 'admin_id' from 'admin_details' where STATUS = '1' and username = '$username' and password = '$password';")or die (mysqli_error($conn)); if(mysqli_num_rows($adminqry) == 1){ $admin = mysqli_fetch_object($adminqry); $adminid = $admin -> admin_id; session_start(); $_SESSION['adminid'] = $adminid; if(isset($_SESSION['adminid'])){ header("Location: ./admin/adminmain.php"); exit(); }else{ echo "Login error"; } }else{ echo "User not found."; } } ?> //Notes: //(1) Check your connection file path is proper in require_once. //(2) I consider you want to redirect header("Location: ./admin/adminmain.php"); here if login success.
假设我有一个名为 users 的表,其中包含字段 id、名称、用户名和密码。当我编写获取所有字段的查询时,这样写是否更好 $sql = mysqli_query($c...
如何使用 try catch finally 识别 php mysqli 事务中哪个查询失败了
在 PHP MySQL 事务中执行多个准备好的查询时,如何识别哪个查询导致回滚?我想这样做是为了通过电子邮件向特定的人提供有意义的消息
PHP 中的循环需要时间,致命错误:超过了最大执行时间 120 秒
致命错误:超过了 120 秒的最大执行时间... $级别=“1”; $get_question = $user_home->runQuery('SELECT * FROM questions WHERE Level = :Level ORDER BY RAND()'); $get_quest...
尝试了解工作中的各种 SQL 注入技术,但我陷入了以下困境。我正在尝试为以下代码编写 SQL 注入。我的目标是仅输入
我发现自己对 MySQLi 在遇到错误查询时处理保存点的方式感到有点困惑。 这是我遇到的问题的 MRE: $mysqli = 新的 mysqli($_HOST, $_USER, $_PASS, $
数据库中的图像无法使用 FPDF PHP 在 PDF 上显示
我想显示数据库文件夹中的图像,该图像存储的格式为png,jpeg。我已经遵循了正在使用的 FPDF 手册; 函数图像($file, $x=null, $y=null, $w=0, $h=0, $t...
我正在尝试在我的网站上创建一个搜索功能,该功能在主表中的多个列中搜索关键字,以及与通过关联表链接的这些关键字相匹配的任何标签...
实现 MySQL PHP CRUD 操作的最简单方法以及用于简化编码的可用脚本? [已关闭]
我目前正在开发一个项目,涉及使用 MySQL 和 PHP 实现 CRUD(创建、读取、更新、删除)操作。我想让这个过程尽可能高效和简单......
我是 php 新手(已经接触了几天),但多年来一直在使用 c++ 和 python 等语言。我目前正在制作一个基本的全局聊天系统,其中输入的聊天内容被发送到 mysql
如何将序列插入到列名称 s_n(图 1)中,如图 2 所示的日期,在此处输入图像描述 在此输入图像描述 我正在尝试寻找代码或添加序列号的方法来搜索...
我已经做了以下准备好的查询。如果我只是在 ? 的位置手动插入数字,它就可以完美地工作。是。 但是,如果我绑定参数,查询似乎不会运行。我怎样才能...
我刚刚将所有 sql 查询更改为使用 mysqli 准备好的语句。为了加快这个过程,我创建了一个函数(称为performQuery)来代替mysql_query。它需要查询、垃圾箱...
有没有一种方法可以在 mysqli_stmt 对象中一次绑定一个参数?即类似的东西, // $stmt 是一个 mysqli_stmt 对象。 // $bindvals 是一个数组。 foreach($bindvals 作为$item){ $stmt->
如果使用准备好的 PHP/MySQL 查询,我需要清理输入吗?
鉴于以下代码,我需要逃逸并清理 $city 吗? 鉴于以下代码,我需要转义并清理$city吗? <?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $city = "Amersfoort"; /* create a prepared statement */ if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) { /* bind parameters for markers */ $stmt->bind_param("s", $city); /* execute query */ $stmt->execute(); /* bind result variables */ $stmt->bind_result($district); /* fetch value */ $stmt->fetch(); printf("%s is in district %s\n", $city, $district); /* close statement */ $stmt->close(); } /* close connection */ $mysqli->close(); ?> 使用准备好的查询时是否需要清理任何输入? 不,您不必为了注射保护而逃脱它或对其进行消毒。对于其他应用程序特定的内容,您可以对其进行清理。 不久前我也有过类似的问题: mysqli_stmt_bind_param SQL注入 您直接从 php.net 上有关 mysqli::prepare 的手册复制了该代码片段。在同一页上有以下文字: 准备好的语句的目的是不在 SQL 语句中包含数据。将它们包含在 SQL 语句中是不安全的。始终使用准备好的语句。它们使用起来更干净(代码更容易阅读)并且不易受到 SQL 注入。 这就是你问题的答案;) 此外。另外。 准备好的语句如果使用得当,几乎可以完全缓解 SQL 注入问题。但是您应该在适当的情况下格式化/清理输入数据。清洁输入不是一项安全功能,但为了稳健性和可用性,建议这样做。对于您的 $city,您可能需要删除所有非单词字符: $city = trim(preg_replace("/[^\w-]+/", " ", $city)); 再次强调:不会取代数据库转义或准备好的语句,但确保使用一致的数据。 我意识到这个问题很老了。我自己在搜索相同信息时偶然发现了它。我会对桑德的回答发表评论,但我还没有足够的声誉来发表评论。 Sander 说你不需要消毒,但是在 http://www.w3schools.com/php/php_mysql_prepared_statements.asp (我意识到 w3schools 并不总是一个完全最新且准确的信息来源,但我发现它以一种明智、易于理解的方式阐明了事情),他们说“注意:如果我们想插入来自外部来源的任何数据(例如用户输入),那么对数据进行清理和验证非常重要。 ” 所以看来当使用表单并接受用户输入时,你应该进行清理。