jjzjj

phpMyAdmin - 错误 : (The mysqli extension is missing) after upgrading php 5. 6 到 php 7

通过这种方式将php5.6升级到php7后,ubuntu16.04上的phpmyadmin出现问题:sudoadd-apt-repositoryppa:ondrej/phpsudoapt-getupdatesudoapt-getinstallphp7.0php5.6php5.6-mysqlphp-gettextphp5.6-mbstringphp-mbstringphp7.0-mbstringphp-xdebuglibapache2-mod-php5.6libapache2-mod-php7.0在这个命令之后:sudoa2dismodphp5.6;sudoa2enmodphp7.0;s

php - 我的一些查询没有执行

我完全不熟悉php编程,在w3schools上学习这门类(class),我正在尝试执行以下操作,数据库已创建,但表未创建,插入也未创建。Name:Age:PositionGoals: 最佳答案 需要在创建数据库后立即放入mysqli_select_db($con,'Arsenal');,否则sqlserver不知道在哪个数据库中创建表。尝试将它放在第一个echo'success';之后 关于php-我的一些查询没有执行,我们在StackOverflow上找到一个类似的问题:

php - 准备好的语句会完全保护我的网站免受 MySQL 注入(inject)吗?

我在查询中使用准备好的语句和MySQLi来防止注入(inject)攻击。准备好的语句会完全消除对mysql_real_escape_string的需要吗?在保护我的网站时,还有什么我应该考虑的吗? 最佳答案 只要您正确使用准备好的语句,它们就可以。您必须确保绑定(bind)所有外部变量,而不是将它们直接放在查询中。例如$stmt=$mysqli->prepare("SELECTDistrictFROMCityWHEREName=".$name);正在准备此语句,但它没有使用任何一种绑定(bind)方法,因此没有任何用处。它仍然容易受

php - mysqli INSERT异常

我有下表:ID:bigintautoincNAME:varchar(255)DESCRIPTION:textENTRYDATE:date我想在表中插入一行。它执行时没有错误,但没有任何内容被插入到数据库中。try{$query="INSERTINTOmytable(NAME,DESCRIPTION,ENTRYDATE)VALUES(?,?,?)";$stmt=$conn->prepare($query);$name='something';$desc='something';$curdate="CURDATE()";$stmt->bind_param("sss",$name,$desc

php - 扩展 mysqli_result

我已经扩展了PHP的mysqli类,它工作正常。但是如何让它在查询时返回自定义结果对象(或用于插入/更新/删除等的bool值)?namespaceMyApp;classMySQLiextends\mysqli{publicfunctionquery($query,$resultmode=null){//ThisneedstoreturnaMySQLiResultoraboolean}}classMySQLiResultextends\mysqli_result{}这样做我可以返回一个MySQLiResult对象,但我不知道如何为非基于选择的查询返回一个bool值:publicfunct

php - 调用函数作为参数,这是不好的做法吗?

$myVar=myFunction(array_reverse(explode('.',$_SERVER['SERVER_NAME'])));这样的嵌套函数有什么问题吗? 最佳答案 这没问题,只要您能保证每个函数总是返回所需的类型。例如,如果一个函数可能返回一个FALSE值,它可能会被强制转换为一个意想不到的值。提供的示例之所以有效,是因为explode(如调用的那样)和array_reverse都将始终返回一个数组。一个反例:mysqli_query(mysqli_connect(...),'INSERTINTOtblVALUES

php - 准备好的语句mysqli不返回行

我有一些带有准备好的语句的php代码。它是通过javascript中的Ajax调用的。我确定在帐户表中有一个名为mark(无上限)的帐户,但是当我将$_POST['query']设置为m调用它时,它发现$stmt->num_rows===0为真。看不出任何错误,就是不行!如您所知,它正在将内容回显到表格中。我在phpMyAdmin中尝试了这个查询:SELECTusernameFROMaccountsWHEREusernameLIKE'%m%'并且它工作正常。我创建这段代码是为了在mysql数据库中搜索用户名。如果您想知道,$conn是包含文件中定义的有效mysqli对象。stmt_in

php - 调用存储过程Mysql时命令不同步

我有两个存储过程,我需要将记录分页(比如选择下一个n记录)到第一个选择所有匹配记录的记录。CREATEPROCEDURE`trans_all`(INvarphoneVARCHAR(15))BEGINSelectloans.amt,loans.date,loans.pay_period,borrower.phoneAsborrower_phone,borrower.nameAsborrower_name,lender.phoneAslender_phone,lender.nameAslender_name,FromloansLeftJoinusersborrowerOnborrower.

php - mysqli真正的转义字符串问题

如何在我的脚本中使用mysqli_real_escape_string来防止SQL注入(inject)。我正在处理一些代码并在这里提出一些问题,我被建议使用mysqli_real_escape_string而不是mysql_real_escape_string,问题是我的代码在变量之后才建立连接我要保全。有人建议我应该使用准备好的语句,但经过一些搜索后http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php我觉得更糊涂了。现在代码如果做的正是它不应该做的事情,它会将空值/行插入到我的表中,根据我的阅读,

php - 通知 : Undefined variable: conn

当我像这样进行数据库连接时:$conn=newMySQLi(RUBYDBUSER,RUBYDBNAME,RUBYDBPASS,RUBYDBDATA);if($conn->errno){thrownewException($conn->connect_error,$conn->connect_errno);}我想像这样运行一个准备好的语句:publicfunctiongetSitename(){$stmt=$conn->prepare("SELECTvalueFROMcms_optionsWHEREtitle='sitename'");$db->stmt_init();$stmt->ex