从db检索数据并在php中的表中显示它。查看此代码有什么问题吗?

【字号: 日期:2024-01-20浏览:50作者:雯心
如何解决从db检索数据并在php中的表中显示它。查看此代码有什么问题吗??

尝试这个:

<?PHP # Init the MysqL Connection if( !( $db = MysqL_connect( ’localhost’ , ’root’ , ’’ ) ) ) die( ’Failed to connect to MysqL Database Server - #’.MysqL_errno().’: ’.MysqL_error(); if( !MysqL_select_db( ’ram’ ) ) die( ’Connected to Server, but Failed to Connect to Database - #’.MysqL_errno().’: ’.MysqL_error(); # Prepare the INSERT Query $insertTPL = ’INSERT INTO `name` VALUES( '%s' , '%s' , '%s' , '%s' )’; $insertsql = sprintf( $insertTPL , MysqL_real_escape_string( $name ) , MysqL_real_escape_string( $add1 ) , MysqL_real_escape_string( $add2 ) , MysqL_real_escape_string( $mail ) ); # Execute the INSERT Query if( !( $insertRes = MysqL_query( $insertsql ) ) ){ echo ’<p>Insert of Row into Database Failed - #’.MysqL_errno().’: ’.MysqL_error().’</p>’; }else{ echo ’<p>Person’s @R_324_4037@ion Inserted</p>’ } # Prepare the SELECT Query $selectsql = ’SELECT * FROM `names`’; # Execute the SELECT Query if( !( $selectRes = MysqL_query( $selectsql ) ) ){ echo ’Retrieval of data from Database Failed - #’.MysqL_errno().’: ’.MysqL_error(); }else{ ?><table border='2'> <thead> <tr> <th>Name</th> <th>Address Line 1</th> <th>Address Line 2</th> <th>Email Id</th> </tr> </thead> <tbody> <?PHP if( MysqL_num_rows( $selectRes )==0 ){echo ’<tr><td colspan='4'>No Rows Returned</td></tr>’; }else{while( $row = MysqL_fetch_assoc( $selectRes ) ){ echo '<tr><td>{$row[’name’]}</td><td>{$row[’addr1’]}</td><td>{$row[’addr2’]}</td><td>{$row[’mail’]}</td></tr>n';} } ?> </tbody></table> <?PHP }?>注意事项,注意事​​项和警告

在将值传递到数据库之前,您的初始解决方案没有显示任何明显的价值。这就是sql注入攻击(甚至是通过sql传递的意外错误)发生的方式。不要做!

您的数据库似乎没有主键。尽管从技术上讲,在所有使用中这些都不是必需的,但它们是一种好习惯,并且为引用表中的特定行提供了一种更加可靠的方式,无论是添加相关表还是在该表中进行更改。

您需要在每个阶段检查每个操作是否有错误。大多数PHP函数都足够好以产生响应,它们将在错误条件下返回。随时检查这些条件是您的工作-永远不要假设PHP会按照您的期望,期望的方式和期望的顺序进行操作。这就是事故的发生…

我上面提供的代码包含许多要点,如果发生错误,将返回一条消息。尝试一下,查看是否报告了任何错误消息,查看“错误消息”,如果适用,还返回错误代码并进行一些研究。

祝好运。

解决方法

$db = mysql_connect('localhost','root',''); $er = mysql_select_db('ram'); $query = 'insert into names values(’$name’,’$add1’,’$add2’,’$mail’)'; $result = mysql_query($query); print '<p> Person’s Information Inserted </p>'; $result = mysql_query('SELECT * FROM names');?><table border='2'> <tr> <th>Name</th> <th>Address Line 1</th> <th>Address Line 2 </th> <th>E-mail Id </th> </tr> <? while ($array = mysql_fetch_row($result)); {print '<tr> <td>';echo $array[0]; print '</td> <td>';echo $array[1]; print '</td> <td>';echo $array[2]; print '</td> <td>';echo $array[3]; print '</td> </tr>'; }?>

相关文章: