Php 如何通过表查看数据库中的行?

Php 如何通过表查看数据库中的行?,php,html,mysql,select,Php,Html,Mysql,Select,我只想制作一个表,让我可以查看数据库中的行列表。。。 但是我的代码不起作用, 这是我的全部代码: $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. Lev

我只想制作一个表,让我可以查看数据库中的行列表。。。 但是我的代码不起作用, 这是我的全部代码:

$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时,需要传递连接变量try Using

**$result=mysqli_query($con,$query);**
而不是
$result=mysqli\u query($query)
希望这能奏效

试试这个:

$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>";
}
$mysqli=新的mysqli(主机、用户、密码、数据库);
if(mysqli\u connect\u errno()){
printf(“连接失败:%s\n”,mysqli_Connect_error());
退出();
}
$query=“选择*从单选”;
$result=$mysqli->query($query);
而($row=$result->fetch_数组(MYSQLI_ASSOC))
{
回声“;
回显“$row['gradeyLevel']”;
回显“$row['firstname']”;
回显“$row['middlename']”;
回显“$row['lastname']”;
回显“$row['age']”;
回显“$row['position']”;
回显“$行[“座右铭]”;
回声“;
}

该错误意味着变量$result被设置为false,而不是查询结果。检查您提供的表名是否正确,以及您用来登录的数据库用户是否有权访问该表。

您在mysqli查询中添加了分号,因此发现了此错误。您必须使用以下代码

$result = mysqli_query($con,"SELECT * FROM Solo");
根据您的要求,您的表名显然有误(单词/字母大小写)

在这个问题上,我引用了你的话:“很有效!!非常感谢!!:)”

两个可能的错误。

1) 错误的表名
SOLO
而不是
SOLO
(很可能是这种情况)

2) 额外分号=>
$sql=“SELECT*FROM Solo;”
替换为=>
$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);
$con=mysqli_connect(“fd***.biz.nf”,“1549087_admin”,“*****”,“*****”);
//检查连接
if(mysqli\u connect\u errno($con))
{
echo“无法连接到MySQL:”.mysqli\u connect\u error();
}
$sql=“从`SOLO``中选择*;//在SOLO表名称周围添加了反勾号
如果($sql==FALSE){
die(mysqli_error());//TODO:更好的错误处理
}
$myData=mysqli\u查询($con,$sql);
回声“
年级/年级
名字
中名
姓
年龄
位置
座右铭
";
而($row=mysqli\u fetch\u数组($myData,mysqli\u ASSOC))
{
回声“;
echo$row['gradeyrlevel'];
回声“;
echo$row['firstname'];
回声“;
echo$row['middlename'];
回声“;
echo$row['lastname'];
回声“;
echo$row['age'];
回声“;
echo$row['position'];
回声“;
echo$行[“座右铭];
回声“;
回声“;
}
回声“;
mysqli_close($con);

脚注:

  • 正如你在另一个问题中提到的,你需要保护自己不被注射

推荐教程:(尽管在网上还有很多其他教程)

当然还有PHP和MySQL手册:


什么是“不工作”?您检索哪个错误?更多详细信息将非常有用。到底是什么不起作用?这是出现的错误:警告:mysqli_fetch_array()期望参数1是mysqli_result,布尔值在/srv/disk10/1549087/www/rooseveltcolleclegecainta.co.nf/admin/adminpage/index.php的第125行。此错误意味着您有一个mysql错误,试着在代码
插入到SOLO
中,用大写字母
SOLO
回显它,在这个问题中,你显示的是
SELECT*FROM SOLO
SOLO
是混合大小写字母。是哪一个
SOLO
SOLO
,或
SOLO
,或
SOLO
。。。。。。。。。。。。。????如果你有正确的错误报告,你会看到一个错误,说
table Solo。。。找不到
,并去掉
$sql=“SELECT*FROM Solo;”中多余的分号如下所示。出现此错误:致命错误:对非对象调用成员函数fetch_array()。出现此类错误:警告:mysql_fetch_row()期望参数1为资源,布尔给定的insame错误出现:(
$result = mysqli_query($con,"SELECT * FROM Solo");
$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);