请帮我转换我的MySQL到MySQLi
有人请向我解释并协助将我的旧代码转换为新的MySQLi格式吗?我将不胜感激。请帮我转换我的MySQL到MySQLi
这是我当前的代码:
<html>
<head>
<title>Last 10 Results</title>
</head>
<body>
<table>
<thead>
<tr>
<td>Id</td>
<td>Name</td>
</tr>
</thead>
<tbody>
<?php
$connect = mysql_connect("localhost","root", "root");
if (!$connect) {
die(mysql_error());
}
mysql_select_db("apploymentdevs");
$results = mysql_query("SELECT * FROM demo LIMIT 10 ORDER BY Id");
while($row = mysql_fetch_array($results)) {
?>
<tr>
<td><?php echo $row['Id']?></td>
<td><?php echo $row['Name']?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</body>
</html>
我再次体会到帮助。
这是我做了什么(我很抱歉,我这样的小白)
<?php
// Database details
$dbhost = 'localhost';
$dbuser = '#';
$dbpass = '#';
$dbname = '#';
$db = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$results = mysqli_query("SELECT * FROM formdata LIMIT 10 ORDER BY id");
while($row = mysqli_fetch_array($results)) {
?>
<tr>
<td><?php echo $row['ID']?></td>
<td><?php echo $row['FullName']?></td>
<td><?php echo $row['Mobile']?></td>
<td><?php echo $row['Email']?></td>
<td><?php echo $row['Province']?></td>
</tr>
<?php
}
?>
更新这一行:
$results = mysqli_query("SELECT * FROM formdata LIMIT 10 ORDER BY id");
到
$results = mysqli_query($db, "SELECT * FROM formdata ORDER BY id LIMIT 10");
我有一个很不错的感觉,他低估了我们。我们中间有一条“蛇”。 –
谢谢你的回答,你和Fred,我的mysqli_fetch_array部分是否正确? –
是的,该部分是正确的,但它可以采用可选参数。但它可以保持原样。 – NaijaProgrammer
这里的问题是,你还没有传递到您的查询的连接
$results = mysqli_query($db, "SELECT
^^^^
阅读文档:
与mysql_
不同,它必须作为参数传递。
然后确保您的查询不失败。
编辑:
脚注:
至于到OP评论抓到通过NaijaProgrammer,LIMIT去ORDER BY后,是一个完整的对我的监督。
“建议:1。检查你的表名2.运行在phpMyAdmin代码3.将ORDER BY语句的LIMIT语句之前 - NaijaProgrammer。”
参考的选择:
从手动实施例:
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name' export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
我想指出,虽然如此,您在这里使用的是小写字母“id”ORDER BY id
,这对ORDER BY来说应该不是问题。
然而,有$row['ID']
和$row['id']
之间的差。如果您的数据库配置为区分大小写,那么您将需要以小写形式写入ID。
当有人说“我是一个小菜鸟”时,很多时候,他们没有完全掌握官方的PHP手册,这就是他们可能首先来到SO的原因。然后,他们通常会更喜欢为他们完整编写代码。我是从经验中发言的。 – NaijaProgrammer
@NaijaProgrammer这是可以理解的。我也曾经是一个新手,我不知道Google应该怎么做。我们当然在很多年前说话了;-) –
听这个人 –
你有没有尝试过什么? –
我有,但我很惭愧地添加它 –
@ Fred-ii-我已经添加了我认为正确的东西,但请不要对我吼我正在学习。 –