【php – mysqli_connect():( HY000 / 2003):无法连接到’域名’上的MySQL服务器(111)】教程文章相关的互联网学习教程文章

php – 将此MySQLi查询编写为预准备语句【代码】

我有一个现有的MySQLi查询:$conn = dbConnect('query'); $galNumb = "SELECT COUNT(pj_gallery_id) FROM pj_galleries WHERE project = {$project}"; $gNumb = $conn->query($galNumb); $row = $gNumb->fetch_row(); $galTotal = $row[0];这会计算每个项目的库的数量,这些库的数量与$project中包含的查询字符串中的值相匹配. 它的工作完美但与准备好的声明相比并不安全.我已经研究了两天,无法学习如何将此陈述作为准备好的陈述.任...

php – mysqli真正的转义字符串【代码】

我正在使用mysqli_real_escape_string的OOP方法转义字符串.我将输入的输入保存到会话变量中以确保它正确转义.它似乎正在逃避正确,但当我检查输入数据库的内容时,我看不到单引号和双引号之前的斜杠. 所以在浏览器中我回应:Array ([formContent] => I\'m always here! )但在数据库中,我看到:I'm always here!这是否意味着我的代码在某处出现了问题?谢谢!解决方法:不,这很正常. mysqli_real_escape_string会为您自动转义单引号. 当...

php – Mysqli准备语句(SQL注入预防)【代码】

在停止使用已弃用的mysql_ *函数后,我切换到了mysqli.但后来,我注意到非预处理语句对SQL注入是不安全的.然后,我再次更改了我的代码. 我所拥有的是以下函数,它检查数据库中是否存在变量$ID,并打印该行的title值:function showPostTitle($ID, $mysqli) {$result = $mysqli -> query("SELECT ID, title FROM blog where ID = $ID");$row = $result -> fetch_array(MYSQLI_BOTH);echo $row['title']; }我改成了这个:function showPos...

使用mysqli的’config.php’文件【代码】

我最近被告知要停止使用mysql_query(),而是切换到mysqli().不用说,我在代码中进行这些更改时遇到了困难.我想要修复我现在拥有的东西,但是我也在寻找循环通过下面示例的最有效(读取最少打字)方式. 在我的config.php文件中<?php$host = 'mysql.host.com';$user = 'userName';$password = 'password';$database = 'database';$link = new mysqli();$link->connect($host, $user, $password, $database);if (mysqli_connect_errno()) {...

php – mysqli_stmt :: bind_param()[mysqli-stmt.bind-param]:变量数量与参数数量不匹配【代码】

我的php表单在我的表中插入了几列和一个加密的密码.但是,当我运行它时,它表示变量数与参数数量不匹配.这是我的代码:<?php if (isset($_POST['insert'])) { require_once 'login.php'; $OK = false;$conn = new mysqli ($host, $user, $password, $database) or die("Connection Failed");$stmt = $conn->stmt_init();$sql = 'INSERT INTO users (user_email, user_name, user_pref, user_password)VALUES(?, ?, ?, des_encrypt(su...

php – mysqli预编译语句 – 不更新NULL值【代码】

我有一个准备好的声明来更新几个字段.我从公式中获取数据,但并非所有字段都是必需的.因此可能没有设置某些字段.我将它们设置为NULL.现在我不想用NULL覆盖旧值.如果它为NULL,我怎么能告诉MySql不要更新值?$insert_stmt = $mysqli->prepare(" UPDATE members SET username=?, email=?, $password=?, $random_salt=?, level=?, customerID=?, name=?, surname=?, phone=?, quantities=? WHERE id=? "); $insert_stmt->bind_param('s...

php – MySQLi bind_param()参考【代码】

我试图动态地将几个参数传递给bind_param()函数. 这是我收到的错误:Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be areference, value given码:$con = new mysqli('localhost',USER,PASS,DBS);if(mysqli_connect_errno()) { error(mysqli_connect_errno()); }$con -> set_charset("utf8");/*inside*/$type='';$query='SELECT bugID FROM bug';if(!empty($_GET['cena'])) {$build[]='uCena=?';$type.='i';$va...

php – mysqli图像blob插入不起作用【代码】

我正在尝试将图像文件上传到MySql数据库.我已经在网上发布了seacrh,最后我开始使用以下脚本:if(is_uploaded_file($_FILES['filename']['tmp_name'])){$maxsize=$_POST['MAX_FILE_SIZE']; $size=$_FILES['filename']['size'];// getting the image info.. $imgdetails = getimagesize($_FILES['filename']['tmp_name']); $mime_type = $imgdetails['mime']; // checking for valid image type if(($mime_type=='image/jpeg'...

php – mysqli_stmt :: bind_result():绑定变量数与预准备语句中的字段数不匹配【代码】

我一直在尝试使用预准备语句在PHP中编写登录表单,但每次我尝试登录时都会收到以下错误:mysqli_stmt::bind_result(): Number of bind variables doesn’t match number of fields in prepared statement这是我的代码:<?php session_start();$mysqli = new mysqli("localhost", "root" , "" , "security"); if(mysqli_connect_errno()){echo "Wrong" ; } if($stmt = $mysqli->prepare("SELECT username AND password FROM users WH...

php – 直接将mysqli结果转换为字符串【代码】

我尝试将单个结果查询转换为字符串,而不必写入3行并分配两次相同的变量.它有效,但我发现它很脏. 让我解释 :$request = $db->query("SELECT service_label FROM services WHERE id='".$infos['service']."'"); $service = $request->fetch_assoc(); $service = $service['service_label'];service.id是唯一的,所以它总是只返回1个结果.约束是这样的,因此$infos [‘service’]将始终位于服务表中,因此查询不会失败. 我想最终得到:...

php – 在mysqli bind_param中绑定动态变量【代码】

当我尝试下面的代码时,它会给我一个警告mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables$stmt = $mysqli->prepare('SELECT * FROM users WHERE lname = ? AND fname = ?');$type = "ss";$param = array("Maq","bool");$params[] = &$type;$params[] = &$param;call_user_func_array( array($stmt, 'bind_param'), $params );我真的不知道为什么会发生这种情况我...

php – mysqli_connect会在脚本结束时自动关闭吗?

我想知道,如果mysqli_connect()在脚本结束时自动关闭.我知道,mysql_connect()确实如此,但我正在谈论改进的mysqli_connect()..我也找到了回答的问题,说它确实如此,但是在官方文档中它没有写出来.所以,我可以依靠那些没有官方声明? (或者更好的问一下,依靠它们是安全的吗?)解决方法:这是你应该考虑的.脚本终止时,MySql连接会自动关闭.但是,如果您的脚本在检索数据并将其存储到数组或存储到数组之后执行大量处理,则明确关闭连接会更...

php – 使用mysqli_query查询数据时出现fetch_array错误【代码】

如果我尝试创建一个这样的SQL查询:$sql2 = mysqli_query($connection,"SELECT * FROM CHILD_IMG WHERE PROD_ID='$delID'") or die(mysqli_error()); $getQuery = $connection->query($sql2); while($row = $getQuery->fetch_array()){$childID = $row['ID'];$parentID = $row['PROD_ID'];$childName = '../ProductImages/ChildImages/'.$parentID . "_".$childID.".jpg";unlink($childName); }我收到以下错误:Fatal error: Call ...

如何在Mysqli预处理语句中使用PHP常量【代码】

我正在使用一堆数据库查询构建一个API.为了避免在每个查询中重复一些预先建立的值,我创建了一些PHP常量.但是我不确定将它们包含在Mysqli准备语句中的正确方法.我知道常量不能通过引用传递.所以我想知道我是否应该为包含常量的查询创建一个变量,或者我是否可以直接将字符串与常量一起传递给prepare()函数.所以我可以这样做,或者我应该在调用prepare()之前创建一个变量并将字符串存储在那里吗?$stmt = $this->conn->prepare("SELECT...

php – mysqli bind_param没有设置$stmt-> error或$stmt-> errno【代码】

根据php手册,您可以通过询问$stmt->错误和$stmt-> errno来检索任何预准备语句方法中的错误但是bind_param方法似乎永远不会设置这些错误,其他人可以确认吗?或者告诉我,我错过了什么? 例如:echo "Start\n"; $db = new mysqli('localhost','test','xxxxxx','test');$val = 1;$st = $db->prepare('insert into tblTest set field1=?'); if($st == false) {printf("prepare: %s %d\n",$db->error,$st->errno); }$rs = $st->bind_para...

CONNECT - 相关标签