我只想创建一个表,让我查看数据库中的行列表... 但我的代码不起作用, 这是我的全部代码:
$con=mysqli_connect("fd***.biz.nf","1549087_admin","*****","******");
$sql = "SELECT * FROM Solo;";
$myData = mysqli_query($con,$sql);
echo "<table border='1'>
<tr>
<th>Grade/Yr. Level</th>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
<th>Age</th>
<th>Position</th>
<th>Motto</th>
</tr>";
while($row = mysqli_fetch_array($myData, MYSQLI_ASSOC))
{
echo "<tr><td>";
echo $row['gradeyrlevel'];
echo "</tr><td>";
echo $row['firstname'];
echo "</tr><td>";
echo $row['middlename'];
echo "</tr><td>";
echo $row['lastname'];
echo "</tr><td>";
echo $row['age'];
echo "</tr><td>";
echo $row['position'];
echo "</tr><td>";
echo $row['motto'];
echo "</tr><td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
请帮帮我。
错误是:
警告:mysqli_fetch_array()要求参数1为mysqli_result,布尔值在第125行的/srv/disk10/1549087/www/rooseveltcollegecainta.co.nf/admin/adminpage/index.php中给出
第125行
while($row = mysqli_fetch_array($myData, MYSQLI_ASSOC))
答案 0 :(得分:0)
使用mysqli时,您需要使用
传递连接变量**$result=mysqli_query($con,$query);**
而不是$result=mysqli_query($query);
希望这项工作
答案 1 :(得分:0)
试试这个:
$mysqli = new mysqli(HOST,USER,PASS,DATABASE);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * FROM Solo";
$result = $mysqli->query($query);
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
echo "<tr>";
echo "<td>" . $row['gradeyrlevel'] . "</td>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['middlename'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "<td>" . $row['age'] . "</td>";
echo "<td>" . $row['position'] . "</td>";
echo "<td>" . $row['motto'] . "</td>";
echo "</tr>";
}
答案 2 :(得分:0)
try this............
$con=mysql_connect("host","username","password");
mysql_select_db('dbname');
$query="SELECT * FROM SOLO";
$result=mysql_query($query);
while($data = mysql_fetch_row($result))
{
.
.
.
.
.
}
答案 3 :(得分:0)
错误表示变量$ result设置为false而不是查询结果。检查您提供的表名是否正确,以及您用于登录的数据库用户是否可以访问它。
答案 4 :(得分:0)
你在mysqli查询中放了一个分号,所以你发现了这个错误。你必须使用以下代码
$result = mysqli_query($con,"SELECT * FROM Solo");
答案 5 :(得分:0)
根据您的other question here,您的表名显然是错误的(字/字母大小写)。
在那个问题中,我引用你所说的话: “它工作了!!太感谢你了!! :)”
两个可能的错误。
1)拼写错误的表名。 SOLO
代替Solo
(最有可能的情况)。
2)额外的分号=&gt; $sql = "SELECT * FROM Solo;";
替换为=&gt; $sql = "SELECT * FROM Solo";
如果这不起作用,那么仔细检查所有内容的字母大小写,例如:
N.B。: Solo
不与SOLO
或solo
相同
立即尝试,但请阅读下面的脚注,因为它们包含一些重要信息,这些信息将证明对您的学习SQL和PHP有益。
$con=mysqli_connect("fd***.biz.nf","1549087_admin","*****","******");
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "SELECT * FROM `SOLO`"; // added backticks around SOLO table name
if($sql === FALSE) {
die(mysqli_error()); // TODO: better error handling
}
$myData = mysqli_query($con,$sql);
echo "<table border='1'>
<tr>
<th>Grade/Yr. Level</th>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
<th>Age</th>
<th>Position</th>
<th>Motto</th>
</tr>";
while($row = mysqli_fetch_array($myData, MYSQLI_ASSOC))
{
echo "<tr><td>";
echo $row['gradeyrlevel'];
echo "</tr><td>";
echo $row['firstname'];
echo "</tr><td>";
echo $row['middlename'];
echo "</tr><td>";
echo $row['lastname'];
echo "</tr><td>";
echo $row['age'];
echo "</tr><td>";
echo $row['position'];
echo "</tr><td>";
echo $row['motto'];
echo "</tr><td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
<强>脚注:强>
根据您在其他问题中的GolezTrol's comment,您需要保护自己免受注射。
建议的教程:(虽然网上可以找到许多其他内容)
当然还有PHP和MySQL手册: