草庐IT

php:从自己的 mysli 类获取数据库名称

我使用以下语法为mysqli制作了一个包装类:classmydbextendsmysqli{....}我正在创建如下实例:$conn=newmydb($host$username,$pass,$dbname);我想知道-如何从类内部访问$dbname?我正在寻找mysql_db_name()函数的mysqli等价物。 最佳答案 您可以在自己的类中使用此SQL查询:SELECTdatabase()ASthe_db这应该会显示您当前选择的数据库。 关于php:从自己的mysli类获取数据库名

php - 在 SQL 中使用 PHP 将日期转换为 DATETIME

我有一个用PHP编写的论坛,它采用如下形式的日期dd/mm/yyyyhh:mm:ss。但是,我需要为SQL插入它作为DATETIME,格式为yyyy-mm-ddhh:mm:ss。我如何转换这些数据? 最佳答案 您的日期时间格式错误:dd/mm/yyyyhh:mm:ss。可能你的意思是d/m/YH:i:s如果您有5.3+版本,可以安全地将日期时间转换为另一种格式。这是一个例子:$timestamp='31/05/200112:22:56';$timestamp=DateTime::createFromFormat('d/m/YH:i:

View 的PHP MySQL查询在应该有结果时返回0结果

我有一个运行PHP5.6的站点。该站点的数据库最近从MySQL5.1升级到MariaDB10.0(与MySQL5.5兼容),现在我的站点上的查询将无法运行(并且在连接到MySQL5.1数据库时它可以正常运行。对于这个演示,我有一个名为“content”的数据库表,其中包含字段“id”(整数)和“page_title”(var_char)。该表中有两行-一行的ID为1,page_title为“Test1”,第二行的ID为2,page_title设置为“Test2”。然后我在phpMyAdmin中使用以下查询创建了该表的View:select`content`.`id`AS`id`,`co

php - 是否可以在使用 bind_param 的同时获取对象? (PHP/MySQLi)

我有一个问题想问你们。我正在努力使我运行MySQL的方式尽可能安全。我目前想知道是否可以在准备好语句、绑定(bind)参数并执行语句后使用MySQLi获取对象。例子:$sql=$mysqli->prepare('SELECT*FROMusersWHEREusername=?;');$sql->bind_param('s',$username);$username='RastaLulz';$sql->execute();$object=$sql->fetch_object();echo$object->mail;我收到以下错误:Fatalerror:Calltoamemberfuncti

php - 我还需要使用 Prepared Statement 吗

这个问题在这里已经有了答案:DoIhavetoguardagainstSQLinjectionifIusedadropdown?(11个答案)关闭8年前。使用PHP和MySQLi我有一个简单的表单,其中包含4个HTML5个下拉选择列表输入。现在想知道我是否还必须使用PreparedStatement来保护我的数据库?我是否仍然存在SQL注入(inject)问题的风险?或者使用此类输入是否存在任何其他类型的风险。谢谢

php - MySQLI 准备语句 : num_rows & fetch_assoc

下面是一些写得不好且被严重误解的PHP代码,没有错误检查。老实说,我在PHP->MySQLi函数的迷宫中有点挣扎!有人可以提供一个示例,说明如何使用准备好的语句在关联数组中收集结果,同时还从$stmt获取行数吗?下面的代码是我正在玩的。我认为让我失望的一点是在store_result之后使用$stmt值,然后尝试收集一个assoc数组,我不太确定为什么...$mysqli=mysqli_connect($config['host'],$config['user'],$config['pass'],$config['db']);$stmt=$mysqli->prepare("SELECT

php - (int) 和 is_int() 是否可以安全地防止 SQL 注入(inject)?

所以我想知道这是否足以确保用户不会进行任何SQL注入(inject)并且数字将只是且始终是整数?getArticle函数中的$id绑定(bind)到SQL查询。getArticle($id)?>据我测试,它运行良好,但由于我不完全确定我宁愿问你guyz!好的,人们说准备好的语句可以解决问题。他们真的会吗?比如,我能完全确定如果将参数绑定(bind)为整数,它将是整数吗?提前致谢! 最佳答案 您可以简单地将它们转换为正确的类型:$number=intval($_GET['id']);$string=mysql_real_escape_

php - 如何获取数据库列表?

我想知道PHP是否有一种方法可以通过使用mysqli列出所有可用的数据库。以下在MySQL中运行顺利(参见phpdocs):$link=mysql_connect('localhost','mysql_user','mysql_password');$db_list=mysql_list_dbs($link);while($row=mysql_fetch_object($db_list)){echo$row->Database."\n";}我可以改变吗:$db_list=mysql_list_dbs($link);//mysql变成这样的东西:$db_list=mysqli_list_

PHP/mysqli - 准备语句(在循环中)或 multi_query

我刚刚从使用mysql转向使用PHP中的mysqli扩展。我遇到过两种做同一件事的方法(多个更新查询),每种方法的优缺点是什么?我应该使用其中之一还是完全使用其他东西?循环中的准备语句://preparestatementforeach(whatever){//executestatement}或多查询:foreach(whatever){//buildmanyqueriesintoasinglestring}multi_query(longstring)我知道准备好的语句提供更好的安全性。在PHP中使用mysql时,我听说最好避免在循环中使用UPDATE语句-在循环中执行mysqli

php - mysqli MariaDB 的 header 和客户端库次要版本不匹配

我有这个版本的标题:PHPVersion5.4.4-14+deb7u5ClientAPIheaderversion5.5.31我收到这条消息:警告:mysqli::mysqli():header和客户端库次要版本不匹配。标题:50531图书馆:100004我认为原因是版本不匹配,如何重新编译PHP以匹配mysqli的版本?我正在使用mariadbClientAPIlibraryversion10.0.4-MariaDB谢谢! 最佳答案 当我最近将我的ubuntu服务器升级到13.04时我遇到了同样的问题无论如何这只是来自libmys