• 关于

    mysqli_fetch_array()

    的搜索结果

回答

查询可能由于各种原因而失败,在这种情况下,mysql_ *和mysqli扩展名都false将从它们各自的查询函数/方法中返回。您需要测试该错误情况并进行相应处理。 mysql_ *扩展名: 注:该mysql_功能已被弃用,并在PHP版本7已被删除。 请先检查一下,$result然后再传递给mysql_fetch_array。您会发现这是false因为查询失败。请参阅mysql_query文档以获取可能的返回值以及有关如何处理它们的建议。 $username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if($result === FALSE) { die(mysql_error()); // TODO: better error handling } while($row = mysql_fetch_array($result)) { echo $row['FirstName']; } mysqli扩展 程序样式: $username = mysqli_real_escape_string($mysqli, $_POST['username']); $result = mysqli_query($mysqli, "SELECT * FROM Users WHERE UserName LIKE '$username'"); // mysqli_query returns false if something went wrong with the query if($result === FALSE) { yourErrorHandler(mysqli_error($mysqli)); } else { // as of php 5.4 mysqli_result implements Traversable, so you can use it with foreach foreach( $result as $row ) { ... oo风格: $username = $mysqli->escape_string($_POST['username']); $result = $mysqli->query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if($result === FALSE) { yourErrorHandler($mysqli->error); // or $mysqli->error_list } else { // as of php 5.4 mysqli_result implements Traversable, so you can use it with foreach foreach( $result as $row ) { ... 使用准备好的语句: $stmt = $mysqli->prepare('SELECT * FROM Users WHERE UserName LIKE ?'); if ( !$stmt ) { yourErrorHandler($mysqli->error); // or $mysqli->error_list } else if ( !$stmt->bind_param('s', $_POST['username']) ) { yourErrorHandler($stmt->error); // or $stmt->error_list } else if ( !$stmt->execute() ) { yourErrorHandler($stmt->error); // or $stmt->error_list } else { $result = $stmt->get_result(); // as of php 5.4 mysqli_result implements Traversable, so you can use it with foreach foreach( $result as $row ) { ...

保持可爱mmm 2020-05-08 09:29:27 0 浏览量 回答数 0

回答

查询可能由于各种原因而失败,在这种情况下,mysql_ *和mysqli扩展名都false将从它们各自的查询函数/方法中返回。您需要测试该错误情况并进行相应处理。 mysql_ *扩展名: 注:该mysql_功能已被弃用,并在PHP版本7已被删除。 请先检查一下,$result然后再传递给mysql_fetch_array。您会发现这是false因为查询失败。请参阅mysql_query文档以获取可能的返回值以及有关如何处理它们的建议。 $username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if($result === FALSE) { die(mysql_error()); // TODO: better error handling } while($row = mysql_fetch_array($result)) { echo $row['FirstName']; } mysqli扩展 程序样式: $username = mysqli_real_escape_string($mysqli, $_POST['username']); $result = mysqli_query($mysqli, "SELECT * FROM Users WHERE UserName LIKE '$username'"); // mysqli_query returns false if something went wrong with the query if($result === FALSE) { yourErrorHandler(mysqli_error($mysqli)); } else { // as of php 5.4 mysqli_result implements Traversable, so you can use it with foreach foreach( $result as $row ) { ... oo风格: $username = $mysqli->escape_string($_POST['username']); $result = $mysqli->query("SELECT * FROM Users WHERE UserName LIKE '$username'"); if($result === FALSE) { yourErrorHandler($mysqli->error); // or $mysqli->error_list } else { // as of php 5.4 mysqli_result implements Traversable, so you can use it with foreach foreach( $result as $row ) { ... 使用准备好的语句: $stmt = $mysqli->prepare('SELECT * FROM Users WHERE UserName LIKE ?'); if ( !$stmt ) { yourErrorHandler($mysqli->error); // or $mysqli->error_list } else if ( !$stmt->bind_param('s', $_POST['username']) ) { yourErrorHandler($stmt->error); // or $stmt->error_list } else if ( !$stmt->execute() ) { yourErrorHandler($stmt->error); // or $stmt->error_list } else { $result = $stmt->get_result(); // as of php 5.4 mysqli_result implements Traversable, so you can use it with foreach foreach( $result as $row ) { ... 这些示例仅说明了应该执行的操作(错误处理),而没有说明如何执行。or die输出HTML时不应使用生产代码,否则它将(至少)生成无效的HTML。另外,数据库错误消息不应显示给非管理员用户,因为它会显示过多信息。

保持可爱mmm 2020-05-08 11:02:57 0 浏览量 回答数 0

问题

mysqli_fetch_array懂的老哥老姐,帮忙 回答 下

无我花落去 2019-12-01 20:22:15 886 浏览量 回答数 1

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

$sth = mysqli_query("SELECT ..."); $rows = array(); while($r = mysqli_fetch_assoc($sth)) { $rows[] = $r; } print json_encode($rows); 函数json_encode需要PHP> = 5.2和PHP-JSON包-如所提到的在这里 注意:mysql自PHP 5.5.0起已弃用,请改用mysqli扩展名http://php.net/manual/en/migration55.deprecated.php。$sth = mysqli_query("SELECT ..."); $rows = array(); while($r = mysqli_fetch_assoc($sth)) { $rows[] = $r; } print json_encode($rows); 函数json_encode需要PHP> = 5.2和PHP-JSON包-如所提到的在这里 注意:mysql自PHP 5.5.0起已弃用,请改用mysqli扩展名http://php.net/manual/en/migration55.deprecated.php。来源:stack overflow

保持可爱mmm 2020-05-10 17:19:15 0 浏览量 回答数 0

问题

如何将mysql更改为mysqli?

保持可爱mmm 2020-05-08 10:56:32 0 浏览量 回答数 1

回答

多亏了php.net,我提出了一个解决方案:您必须使用它(mysqli_multi_query($link, $query))来运行多个串联的查询。 /* create sql connection*/ $link = mysqli_connect("server", "user", "password", "database"); $query = "SQL STATEMENTS;"; /* first query : Notice the 2 semicolons at the end ! / $query .= "SQL STATEMENTS;"; / Notice the dot before = and the 2 semicolons at the end ! / $query .= "SQL STATEMENTS;"; / Notice the dot before = and the 2 semicolons at the end ! / $query .= "SQL STATEMENTS"; / last query : Notice the dot before = at the end ! */ /* Execute queries */ if (mysqli_multi_query($link, $query)) { do { /* store first result set */ if ($result = mysqli_store_result($link)) { while ($row = mysqli_fetch_array($result)) /* print your results */ { echo $row['column1']; echo $row['column2']; } mysqli_free_result($result); } } while (mysqli_next_result($link)); }来源:stack overflo

保持可爱mmm 2020-05-11 16:05:52 0 浏览量 回答数 0

问题

为什么mysqli_query($conn,$sql)or die(mysqli?报错

爱吃鱼的程序员 2020-06-22 21:17:10 0 浏览量 回答数 1

回答

操作MySQL官方已经不建议使用mysql这个扩展了,这个扩展在PHP7中已经被移除了,请使用mysqli或者pdo_mysql进行替代,比如下面使用mysqli扩展操作MySQL实现CRUD增查改删(在PHP5.4和PHP7上测试通过): <?php function db() { global $app; static $db; //1个请求内多个函数共用1个连接. if ($db) { return $db; } else { $db = @new mysqli( $app['db_host'], $app['db_user'], $app['db_pass'], $app['db_name'], $app['db_port'] ); } if ($db->connect_errno) { echo $db->connect_error; exit(); } $db->set_charset('utf8'); return $db; } function insert($title = '', $content = '') { global $app; $db = db(); $stmt = $db->prepare('INSERT INTO posts (post_title, post_content) VALUES(?, ?)'); $stmt->bind_param('ss', $title, $content); $stmt->execute(); return ($stmt->affected_rows !== 0) ? array(true, 'insert_id' => $stmt->insert_id) : array(false, 'insert_id' => $stmt->insert_id); } function select($id = '') { global $app; $db = db(); if (!empty($id)) { return $db->query('SELECT * FROM posts WHERE id = '.intval($id))->fetch_all(MYSQLI_ASSOC); } else { return $db->query('SELECT * FROM posts')->fetch_all(MYSQLI_ASSOC); } } function select_v2($id = '') { global $app; $db = db(); if (!empty($id)) { $stmt = $db->prepare('SELECT * FROM posts WHERE id = ?'); $stmt->bind_param('i', $id); } else { $stmt = $db->prepare('SELECT * FROM posts'); } $stmt->execute(); //get_result和fetch_all需要mysqlnd支持,PHP从5.4开始内置mysqlnd. return $stmt->get_result()->fetch_all(MYSQLI_ASSOC); } function update($id, $title = '', $content = '') { global $app; $db = db(); $db->autocommit(false); //$db->begin_transaction(); //PHP从5.5开始才有这个函数,之前版本用autocommit即可. $stmt = $db->prepare('UPDATE posts SET post_title = ?, post_content = ? WHERE id = ?'); $stmt->bind_param('ssi', $title, $content, $id); $stmt->execute(); $db->commit(); //UPDATE时,如果更新的内容跟原来的内容一样,affected_rows也会返回0. return ($stmt->affected_rows !== 0) ? true : false; } function delete($id) { global $app; $db = db(); $db->query('DELETE FROM posts WHERE id = '.intval($id)); return ($db->affected_rows !== 0) ? true : false; } function delete_v2($id) { global $app; $db = db(); $stmt = $db->prepare('DELETE FROM posts WHERE id = ?'); $stmt->bind_param('i', $id); $stmt->execute(); return ($stmt->affected_rows !== 0) ? true : false; } header('Content-Type: text/plain; charset=utf-8'); $app = array( 'db_host' => '127.0.0.1', 'db_user' => 'root', 'db_pass' => 'xxxx', 'db_name' => 'test', 'db_port' => 3306 ); $table = "CREATE TABLE IF NOT EXISTS posts ( id int(10) unsigned NOT NULL AUTO_INCREMENT, post_title varchar(255) NOT NULL DEFAULT '', post_content text NOT NULL DEFAULT '', PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;"; //db()->query('DROP TABLE IF EXISTS posts;') or exit(); db()->query($table) or exit(); echo "var_export(insert('标题1', '内容1'));\n"; var_export(insert('标题1', '内容1')); echo "\n\n"; echo "var_export(insert('标题2', '内容2'));\n"; var_export(insert('标题2', '内容2')); echo "\n\n"; echo "var_export(select());\n"; var_export(select()); echo "\n\n"; echo "var_export(update(2, '标题2_更新','内容2_更新'));\n"; var_export(update(2, '标题2_更新','内容2_更新')); echo "\n\n"; echo "var_export(select(2));\n"; var_export(select(2)); echo "\n\n"; echo "var_export(delete(2));\n"; var_export(delete(2)); echo "\n\n"; echo "var_export(select());\n"; var_export(select()); echo "\n\n"; 输出: var_export(insert('标题1', '内容1')); array (   0 => true,   'insert_id' => 1, ) var_export(insert('标题2', '内容2')); array (   0 => true,   'insert_id' => 2, ) var_export(select()); array (   0 =>   array (     'id' => '1',     'post_title' => '标题1',     'post_content' => '内容1',   ),   1 =>   array (     'id' => '2',     'post_title' => '标题2',     'post_content' => '内容2',   ), ) var_export(update(2, '标题2_更新','内容2_更新')); true var_export(select(2)); array (   0 =>   array (     'id' => '2',     'post_title' => '标题2_更新',     'post_content' => '内容2_更新',   ), ) var_export(delete(2)); true var_export(select()); array (   0 =>   array (     'id' => '1',     'post_title' => '标题1',     'post_content' => '内容1',   ), ) ######谢谢!看了一会,看懂一点了。###### composer.json "illuminate/database" : "*" ######这个还不太了解。。。我再百度研究一下。###### 视频教程过期了,, 换一个.. ######您是指视频教程太旧了吗?###### 别被视频毁了,现在是什么年代了,还用mysql函数,用mysqli的我都鄙视。 翻开手册看下pdo ######谢谢,我正在学习。######下面是PDO版本: <?php function db() { global $app; static $db; if ($db) { return $db; } else { try { $dsn = "mysql:dbname=$app[db_name];host=$app[db_host];port=$app[db_port];charset=utf8"; $db = new PDO($dsn, $app['db_user'], $app['db_pass'], array( PDO::ATTR_PERSISTENT => false, PDO::ATTR_EMULATE_PREPARES => false, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' )); } catch (PDOException $e) { echo $e->getMessage(); exit(); } } return $db; } function insert($title = '', $content = '') { global $app; $db = db(); $stmt = $db->prepare('INSERT INTO posts (post_title, post_content) VALUES(?, ?)'); $stmt->bindParam(1, $title, PDO::PARAM_STR); $stmt->bindParam(2, $content, PDO::PARAM_STR); $stmt->execute(); return ($stmt->rowCount() !== 0) ? array(true, 'lastInsertId' => $db->lastInsertId()) : array(false, 'lastInsertId' => $db->lastInsertId()); } function select($id = '') { global $app; $db = db(); if (!empty($id)) { return $db->query('SELECT * FROM posts WHERE id = '.intval($id))->fetchAll(PDO::FETCH_ASSOC); } else { return $db->query('SELECT * FROM posts')->fetchAll(PDO::FETCH_ASSOC); } } function select_v2($id = '') { global $app; $db = db(); if (!empty($id)) { $stmt = $db->prepare('SELECT * FROM posts WHERE id = ?'); $stmt->bindParam(1, $id, PDO::PARAM_INT); } else { $stmt = $db->prepare('SELECT * FROM posts'); } $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); } function update($id, $title = '', $content = '') { global $app; $db = db(); $db->setAttribute(PDO::ATTR_AUTOCOMMIT, false); $db->beginTransaction(); $stmt = $db->prepare('UPDATE posts SET post_title = ?, post_content = ? WHERE id = ?'); $stmt->bindParam(1, $title, PDO::PARAM_STR); $stmt->bindParam(2, $content, PDO::PARAM_STR); $stmt->bindParam(3, $id, PDO::PARAM_INT); $stmt->execute(); $db->commit(); return ($stmt->rowCount() !== 0) ? true : false; } function delete($id) { global $app; $db = db(); return ($db->query('DELETE FROM posts WHERE id = '.intval($id))->rowCount() !== 0) ? true : false; } function delete_v2($id) { global $app; $db = db(); $stmt = $db->prepare('DELETE FROM posts WHERE id = ?'); $stmt->bindParam(1, $id, PDO::PARAM_INT); $stmt->execute(); return ($stmt->rowCount() !== 0) ? true : false; } header('Content-Type: text/plain; charset=utf-8'); $app = array( 'db_host' => '127.0.0.1', 'db_user' => 'root', 'db_pass' => 'xxxx', 'db_name' => 'test', 'db_port' => 3306 ); $table = "CREATE TABLE IF NOT EXISTS posts ( id int(10) unsigned NOT NULL AUTO_INCREMENT, post_title varchar(255) NOT NULL DEFAULT '', post_content text NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;"; //db()->query('DROP TABLE IF EXISTS posts;') or exit(); db()->query($table) or exit(); echo "var_export(insert('标题1', '内容1'));\n"; var_export(insert('标题1', '内容1')); echo "\n\n"; echo "var_export(insert('标题2', '内容2'));\n"; var_export(insert('标题2', '内容2')); echo "\n\n"; echo "var_export(select());\n"; var_export(select_v2()); echo "\n\n"; echo "var_export(update(2, '标题2_更新','内容2_更新'));\n"; var_export(update(2, '标题2_更新','内容2_更新')); echo "\n\n"; echo "var_export(select(2));\n"; var_export(select_v2(2)); echo "\n\n"; echo "var_export(delete(2));\n"; var_export(delete_v2(2)); echo "\n\n"; echo "var_export(select());\n"; var_export(select_v2()); echo "\n\n";

爱吃鱼的程序员 2020-06-01 11:21:14 0 浏览量 回答数 0

问题

mysqli为什么会给出“命令不同步”错误?

保持可爱mmm 2020-05-10 22:31:51 4 浏览量 回答数 1

回答

使用php脚本导出数据库的最佳方法。 或添加特定表的第五个参数(数组):array("mytable1","mytable2","mytable3")用于多个表 select_db($name); $mysqli->query("SET NAMES 'utf8'"); $queryTables = $mysqli->query('SHOW TABLES'); while($row = $queryTables->fetch_row()) { $target_tables[] = $row[0]; } if($tables !== false) { $target_tables = array_intersect( $target_tables, $tables); } foreach($target_tables as $table) { $result = $mysqli->query('SELECT * FROM '.$table); $fields_amount = $result->field_count; $rows_num=$mysqli->affected_rows; $res = $mysqli->query('SHOW CREATE TABLE '.$table); $TableMLine = $res->fetch_row(); $content = (!isset($content) ? '' : $content) . "\n\n".$TableMLine[1].";\n\n"; for ($i = 0, $st_counter = 0; $i < $fields_amount; $i++, $st_counter=0) { while($row = $result->fetch_row()) { //when started (and every after 100 command cycle): if ($st_counter%100 == 0 || $st_counter == 0 ) { $content .= "\nINSERT INTO ".$table." VALUES"; } $content .= "\n("; for($j=0; $j<$fields_amount; $j++) { $row[$j] = str_replace("\n","\\n", addslashes($row[$j]) ); if (isset($row[$j])) { $content .= '"'.$row[$j].'"' ; } else { $content .= '""'; } if ($j<($fields_amount-1)) { $content.= ','; } } $content .=")"; //every after 100 command cycle [or at last line] ....p.s. but should be inserted 1 cycle eariler if ( (($st_counter+1)%100==0 && $st_counter!=0) || $st_counter+1==$rows_num) { $content .= ";"; } else { $content .= ","; } $st_counter=$st_counter+1; } } $content .="\n\n\n"; } //$backup_name = $backup_name ? $backup_name : $name."___(".date('H-i-s')."_".date('d-m-Y').")__rand".rand(1,11111111).".sql"; $backup_name = $backup_name ? $backup_name : $name.".sql"; header('Content-Type: application/octet-stream'); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"".$backup_name."\""); echo $content; exit; } ?>来源:stack overflow

保持可爱mmm 2020-05-17 13:53:15 0 浏览量 回答数 0

问题

未选择语言时如何获得错误消息?

几许相思几点泪 2019-12-29 19:36:59 0 浏览量 回答数 1

问题

升级PHP7后,PHP脚本无法正常工作

云产品优惠 2019-12-01 22:00:29 26 浏览量 回答数 0

回答

面向对象的思维,唉。。。你就不能用面向对象的思维去思考或写代码吗?要是这样的话,你还是去用PHP 4吧。其实我猜,你看了手册,但是没看懂mysqli_result这个类的用法。 下面是回答:mysqli中就没有mysqli_result这个函数(它在mysqli中是一个类),通常也不需要这个函数。你要是真想的话,可以: function mysqli_result($res, $row, $field=0) { $res->data_seek($row); $datarow = $res->fetch_array(); return $datarow[$field]; } 代码来自手册里的评论。 ###### http://php.net/manual/en/class.mysqli-result.php 没用过mysqli。 不过从手册上看,他的用法和 mysql驱动是不一样的。 ###### <?php //打开一个非持久的MySQL服务器的连接 $link = mysql_connect("localhost", "root", "123456")or die("connection error: ".mysql_error()); mysql_select_db("project",$link);//通过打开的连接选择数据库 $sql = "select * from language"; //书写SQL语句,查询数据表中的字段 $result = mysql_query($sql,$link); //执行SQL语句 $sqlresult = mysql_result($result,4,"name"); //获得结果集中一个字段的值 echo $sqlresult; //输出获得的结果 mysql_close($link); //关闭打开的连接 ?> ######你好,我知道mysql_result, 但是我现在要用mysqli_connect链接,所以mysql_result是无效的,但是我找到了mysqli_result,但是不知道怎么实现跟mysql_result一样的结果。###### 引用来自“撒哈拉的小猫”的评论 <?php //打开一个非持久的MySQL服务器的连接 $link = mysql_connect("localhost", "root", "123456")or die("connection error: ".mysql_error()); mysql_select_db("project",$link);//通过打开的连接选择数据库 $sql = "select * from language"; //书写SQL语句,查询数据表中的字段 $result = mysql_query($sql,$link); //执行SQL语句 $sqlresult = mysql_result($result,4,"name"); //获得结果集中一个字段的值 echo $sqlresult; //输出获得的结果 mysql_close($link); //关闭打开的连接 ?> 回复 @_Obama : $result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name"); $row_cnt = $result->num_rows; printf("Result set has %d rows.\n", $row_cnt); $result->close(); //mysqli是类似这样的用法,查询出res,然后->或者::mysqli的方法

kun坤 2020-06-06 22:43:27 0 浏览量 回答数 0

回答

面向对象的思维,唉。。。你就不能用面向对象的思维去思考或写代码吗?要是这样的话,你还是去用PHP 4吧。其实我猜,你看了手册,但是没看懂mysqli_result这个类的用法。 下面是回答:mysqli中就没有mysqli_result这个函数(它在mysqli中是一个类),通常也不需要这个函数。你要是真想的话,可以: function mysqli_result($res, $row, $field=0) { $res->data_seek($row); $datarow = $res->fetch_array(); return $datarow[$field]; } 代码来自手册里的评论。 ###### http://php.net/manual/en/class.mysqli-result.php 没用过mysqli。 不过从手册上看,他的用法和 mysql驱动是不一样的。 ###### <?php //打开一个非持久的MySQL服务器的连接 $link = mysql_connect("localhost", "root", "123456")or die("connection error: ".mysql_error()); mysql_select_db("project",$link);//通过打开的连接选择数据库 $sql = "select * from language"; //书写SQL语句,查询数据表中的字段 $result = mysql_query($sql,$link); //执行SQL语句 $sqlresult = mysql_result($result,4,"name"); //获得结果集中一个字段的值 echo $sqlresult; //输出获得的结果 mysql_close($link); //关闭打开的连接 ?> ######你好,我知道mysql_result, 但是我现在要用mysqli_connect链接,所以mysql_result是无效的,但是我找到了mysqli_result,但是不知道怎么实现跟mysql_result一样的结果。###### 引用来自“撒哈拉的小猫”的评论 <?php //打开一个非持久的MySQL服务器的连接 $link = mysql_connect("localhost", "root", "123456")or die("connection error: ".mysql_error()); mysql_select_db("project",$link);//通过打开的连接选择数据库 $sql = "select * from language"; //书写SQL语句,查询数据表中的字段 $result = mysql_query($sql,$link); //执行SQL语句 $sqlresult = mysql_result($result,4,"name"); //获得结果集中一个字段的值 echo $sqlresult; //输出获得的结果 mysql_close($link); //关闭打开的连接 ?> 回复 @_Obama : $result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name"); $row_cnt = $result->num_rows; printf("Result set has %d rows.\n", $row_cnt); $result->close(); //mysqli是类似这样的用法,查询出res,然后->或者::mysqli的方法

python小菜菜 2020-05-29 17:53:26 0 浏览量 回答数 0

回答

" 面向对象的思维,唉。。。你就不能用面向对象的思维去思考或写代码吗?要是这样的话,你还是去用PHP 4吧。其实我猜,你看了手册,但是没看懂mysqli_result这个类的用法。 下面是回答:mysqli中就没有mysqli_result这个函数(它在mysqli中是一个类),通常也不需要这个函数。你要是真想的话,可以: function mysqli_result($res, $row, $field=0) { $res->data_seek($row); $datarow = $res->fetch_array(); return $datarow[$field]; } 代码来自手册里的评论。 ###### http://php.net/manual/en/class.mysqli-result.php 没用过mysqli。 不过从手册上看,他的用法和 mysql驱动是不一样的。 ###### <?php //打开一个非持久的MySQL服务器的连接 $link = mysql_connect("localhost", "root", "123456")or die("connection error: ".mysql_error()); mysql_select_db("project",$link);//通过打开的连接选择数据库 $sql = "select * from language"; //书写SQL语句,查询数据表中的字段 $result = mysql_query($sql,$link); //执行SQL语句 $sqlresult = mysql_result($result,4,"name"); //获得结果集中一个字段的值 echo $sqlresult; //输出获得的结果 mysql_close($link); //关闭打开的连接 ?> ######你好,我知道mysql_result, 但是我现在要用mysqli_connect链接,所以mysql_result是无效的,但是我找到了mysqli_result,但是不知道怎么实现跟mysql_result一样的结果。###### 引用来自“撒哈拉的小猫”的评论 <?php //打开一个非持久的MySQL服务器的连接 $link = mysql_connect("localhost", "root", "123456")or die("connection error: ".mysql_error()); mysql_select_db("project",$link);//通过打开的连接选择数据库 $sql = "select * from language"; //书写SQL语句,查询数据表中的字段 $result = mysql_query($sql,$link); //执行SQL语句 $sqlresult = mysql_result($result,4,"name"); //获得结果集中一个字段的值 echo $sqlresult; //输出获得的结果 mysql_close($link); //关闭打开的连接 ?> 回复 @_Obama : $result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name"); $row_cnt = $result->num_rows; printf("Result set has %d rows.\n", $row_cnt); $result->close(); //mysqli是类似这样的用法,查询出res,然后->或者::mysqli的方法 "

montos 2020-05-31 09:20:12 0 浏览量 回答数 0

回答

如果在一切都正常的情况下(SQL正确、网络条件正常等),这行代码并无问题。但是如果在请求SQL语句的过程中有任何错误,都会造成mysqli_query返回false,继而连锁造成mysqli_fetch_array的错误(具体你可以尝试下:mysqli_fetch_array(false);看看会出现什么错误。

timandes 2019-12-02 01:34:51 0 浏览量 回答数 0

回答

ajax提交到edit.php,edit.php中若保存成功,用header("Location:update.php");返回。。 其实我想你是想用ajax完成,只要一个edit文件,提交之后,edit接收到表单,保存成功,把保存的信息比如转成json返回,游览器接收到再去完成一些dom操作。 like $.ajax({ type:'post', url:'edit.php', success:function(data){ $(result).html(JSON.parse(data)); } }) 全选复制放进笔记// 摘自自己去年年初写的页面TAT大牛请轻喷 <?php include("common/conn.php");//链接数据库 $type=htmlspecialchars($_POST['type']); $uid=$_SESSION['uid']; $content=htmlspecialchars($_POST['content']); $content=mysql_escape_string($content); $create_time=date("Y-m-d H:i:s"); $checkstate='1'; $query="INSERT INTO f_post(type,uid,content,create_time,checkstate) VALUES('$type','$uid','$content','$create_time','$checkstate')"; $queryId="SELECT P.`id` FROM `f_post` P WHERE `uid`=".$uid." ORDER BY P.`id` DESC LIMIT 1"; if($mysqli->query($query)===TRUE){ if($pids=$mysqli->query($queryId)) { while($id=$pids->fetch_object()) { $pid=$id->id; } } $result = array( 'id'=>$pid, 'type'=>$type, 'uid'=>$uid, 'content'=>$content, 'create_time'=>date("H:i:s Y-m-d",strtotime($create_time)), 'editable'=>true ); echo json_encode($result); } else exit();

小旋风柴进 2019-12-02 02:19:17 0 浏览量 回答数 0

问题

关于php mysql_result的问题,请指点403.10 禁止访问:配置无效 

kun坤 2020-05-27 20:04:27 6 浏览量 回答数 1

回答

用mysqli是可以的 $db=new mysqli("localhost","ssss","aaaaa","bbbb"); mysqli_query($db,"SET NAMES utf8"); $result=$db->query("call gxtj($year,$jd)"); // gxtj是mysql的存储过程名称 while( $row = $result->fetch_array(MYSQLI_ASSOC)) //完成从返回结果集中取出一行{ while ($key=key($row)){ //依次取得字段名 $value=current($row); //依次取得字段值 } }

落地花开啦 2019-12-02 01:41:54 0 浏览量 回答数 0

问题

php查询mysql返回了错误的结果

星球华人 2019-12-01 19:50:56 1159 浏览量 回答数 1

问题

PHP POST表单失败,目标页无法接收,怎么办?

小旋风柴进 2019-12-01 20:09:38 1231 浏览量 回答数 1

问题

如何在时间表项目中使用php自动分配教师

云产品优惠 2019-12-01 21:58:51 8 浏览量 回答数 0

问题

如何将mysqli结果从php页面传递到另一个?

保持可爱mmm 2019-12-01 21:57:36 18 浏览量 回答数 1

回答

此答案适用于hashing,password_hash()和password_verify()。对于mysqli和pdo。底部的链接具有其他链接以及有关盐等的某些语言。 至关重要的是不要将用户提供的数据直接用于选择和插入。而是绑定参数并调用准备好的语句,以避免sql注入攻击。永远不要将密码以明文形式保存在数据库中。而是应通过单向哈希发送它们。 另请注意。这显示了注册哈希和登录验证。它不是完整的功能,我想花10美元在codecanyon上用... ...这样它表明一个电子邮件地址(登录名)的重新注册已经存在,确实会更新,请注意。在这种情况下,由于数据库中设置了唯一键,因此插入将完全失败。我将其留给读者(读者)进行查找,然后说“电子邮件已注册”。 架构图 CREATE TABLE user_accounts2 ( id int(11) NOT NULL AUTO_INCREMENT, email varchar(100) NOT NULL, password varchar(255) NOT NULL, PRIMARY KEY (id), unique key(email) -- that better be the case ) ENGINE=InnoDB; 通过register.php运行并保存用户后,数据可能如下所示: select * from user_accounts2; +----+-----------+--------------------------------------------------------------+ | id | email | password | +----+-----------+--------------------------------------------------------------+ | 1 | d@d.com | $2y$10$U6.WR.tiOIYNGDWddfT7kevJU8uiz8KAkdxXpda9e1xuplhC/eTJS | +----+-----------+--------------------------------------------------------------+ mysqli部分第一 register.php connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); } //echo "I am connected and feel happy. "; $query = "INSERT INTO user_accounts2(email,password) VALUES (?,?)"; $stmt = $mysqli->prepare($query); // note the 2 s's below, s is for string $stmt->bind_param("ss", $email,$hp); // never ever use non-sanitized user supplied data. Bind it $stmt->execute(); // password is saved as hashed, will be verified on login page with password_verify() $iLastInsertId=$mysqli->insert_id; // do something special with this (or not) // redirect to some login page (for now you just sit here) $stmt->close(); $mysqli->close(); } catch (mysqli_sql_exception $e) { throw $e; } } ?> RegisterNormal Login In Here login.php connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); } //echo "I am connected and feel happy. "; $query = "select id,email,password from user_accounts2 where email=?"; $stmt = $mysqli->prepare($query); // note the "s" below, s is for string $stmt->bind_param("s", $email); // never ever use non-sanitized user supplied data. Bind it $stmt->execute(); $result = $stmt->get_result(); if ($row = $result->fetch_array(MYSQLI_ASSOC)) { $dbHashedPassword=$row['password']; if (password_verify($ctPassword,$dbHashedPassword)) { echo "right, userid="; $_SESSION['userid']=$row['id']; echo $_SESSION['userid']; // redirect to safe.php (note safeguards verbiage at top of this file about it) } else { echo "wrong"; // could be overkill here, but in logout.php // clear the $_SESSION['userid'] } } else { echo 'no such record'; } // remember, there is no iterating through rows, since there is 1 or 0 (email has a unique key) // also, hashes are one-way functions in the db. Once you hash and do the insert // there is pretty much no coming back to cleartext from the db with it. you just VERIFY it $stmt->close(); $mysqli->close(); } catch (mysqli_sql_exception $e) { throw $e; } } ?> Login 下面的pdo部分 当我有时间时,大概是明天,但是现在我将您引向我的答案。来源:stack overflow

保持可爱mmm 2020-05-13 14:38:44 0 浏览量 回答数 0

问题

仅从数据库获取最后10个数据,但以其他方式打印数组

保持可爱mmm 2019-12-01 21:57:43 5 浏览量 回答数 1

回答

楼主应该还是新手,这OO代码写得是错误百出,先去学习下面向对象吧。基础不过关啊这样的代码你都写出来了。。。 functionconnection(){$conn=mysqli_connect($ser,$usr,$psw,$dbn);mysqli_query($conn,"setnames'GBK'");echo"connected";}你不觉得应该这么写才对吗? functionconnection(){$this->conn=mysqli_connect($this->ser,$this->usr,$this->psw,$this->dbn);mysqli_query($this->conn,"setnames'GBK'");echo"connected";}为什么是这么写。。。两三句话说不清,先看下书吧 这种连接方式已经过时了 而且现在的手册中也没有mysqli_query这个函数 mysqli数据库的连接方式可以看看别的类回复 @-Mop-:不好意思,没有仔细阅读手册while($row=mysqli_fetch_array($result)){echo$row['id'].'<br>';}可是我看headfirstphp+mysql它里面是教用mysqli的哦 引用来自“小小程序员”的答案 这种连接方式已经过时了 而且现在的手册中也没有mysqli_query这个函数 mysqli数据库的连接方式可以看看别的类回复 @-Mop-:是的mysqli的使用不是比mysql好吗c++写法么?

爱吃鱼的程序员 2020-06-22 21:17:28 0 浏览量 回答数 0

问题

命令不同步;您现在不能运行此命令

保持可爱mmm 2020-05-10 16:55:23 1 浏览量 回答数 1

问题

PHP连接mysql出现问题

刘刚_ 2020-05-23 21:00:25 8 浏览量 回答数 1

问题

在应用中如何连接和使用分析型数据库?

nicenelly 2019-12-01 21:24:58 1035 浏览量 回答数 0

问题

分析型数据库在应用中如何连接和使用分析型数据库?

nicenelly 2019-12-01 21:25:02 1015 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站