[英]List & Delete records in mysql using php error
我已經寫了一個PHP代碼。 我無法從數據庫中檢索結果,也無法刪除。 在提交時,它只給出一個空白頁而不會引發任何錯誤。 我對此並不陌生,所以即使您認為這是一個愚蠢的問題,也請回復。 請參考代碼,並向我提出一些更改,這些更改將使我的代碼正常工作。
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <title>EDIT SCREEN</title> <form action="test4.php" method="post"> <ul> <li> Employee ID:</br> <input type="text" name="eid"> </li> <li> <input type="submit" value="SUBMIT"> </li> </ul> </form> </body> </html> //test.php <?php define('DB_NAME', 'test'); define('DB_USER', '**'); define("DB_PASSWORD", '**'); define('DB_HOST', 'localhost'); $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); $db_selected = mysql_select_db(DB_NAME, $link); if(isset($_POST['ok'])){ $value1 = $_POST['eid']; $res = mysql_query("SELECT * from 'add' WHERE empid = '".$value1."'"); echo "<table border='1'> <tr><th>Name</th> <th>EmployeeID</th><th>Address</th></tr>"; while($row = mysql_fetch_array($res)) { echo "<tr>"; echo "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['empid'] . "</td>"; echo "<td>" . $row['desig'] . "</td>"; echo "<td><a href='test5.php?del=$row[empid]'>Delete</a></td>"; echo "</tr>"; } echo "</table>"; } if (!mysql_query($sql)) { die('Error: ' . mysql_error()); } mysql_close(); ?> //test5.php <?php define('DB_NAME', 'test'); define('DB_USER', ''); define("DB_PASSWORD", ''); define('DB_HOST', 'localhost'); $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); $db_selected = mysql_select_db(DB_NAME, $link); $value1 = $_POST['del']; mysql_query("DELETE FROM add WHERE empid = '$value1'") ?>
<?php
if(isset($_POST['ok'])){
$value1 = $_POST['eid'];
$res = mysql_query("SELECT * from `add` WHERE empid = '".$value1."'");
echo "<table border='1'>
<tr><th>Name</th>
<th>EmployeeID</th><th>Address</th></tr>";
while($row = mysql_fetch_array($res))
{
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['empid'] . "</td>";
echo "<td>" . $row['add'] . "</td>";
echo "</tr>";
}
echo "</table>";
}
?>
New Code
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<title>EDIT SCREEN</title>
<form action="result.php" method="post">
<ul>
<li>
Employee ID:</br>
<input type="text" name="eid">
</li>
<li>
<input type="submit" value="SUBMIT" name="ok">
</li>
</ul>
</form>
</body>
</html>
<?php
mysql_connect("localhost","root","");
mysql_select_db("fdd");
if(isset($_POST['ok'])){
$value1 = $_POST['eid'];
$res = mysql_query("SELECT * from `jobs` WHERE id = '".$value1."'");
echo "<table border='1'>
<tr><th>Name</th>
<th>EmployeeID</th><th>Address</th></tr>";
while($row = mysql_fetch_array($res))
{
echo "<tr>";
echo "<td>" . $row['job_date'] . "</td>";
echo "<td>" . $row['client_code'] . "</td>";
echo "<td>" . $row['department'] . "</td>";
echo "</tr>";
}
echo "</table>";
}
?>
output
在查詢數據庫之前,您必須先建立連接。 按照下面的代碼片段示例,首先創建與mysql的連接,然后查詢數據庫。
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Perform queries
mysqli_query($con,"SELECT * FROM Persons");
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");
mysqli_close($con);
?>
試試這個代碼,不要直接在mysql查詢中使用id,直接在mysql查詢中使用id之前,請從mysql_real_escape_string傳遞它,它將從sql注入中清除id。 請參閱SQL注入REF 。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<title>EDIT SCREEN</title>
<form action="test4.php" method="post">
<ul>
<li>Employee ID:</br><input type="text" name="eid"></li>
<li><input type="submit" value="SUBMIT"></li>
</ul>
</form>
</body>
</html>
********* test4.php file ***********
<?php
$value1 = mysql_real_escape_string($_POST['eid']);
if($value1)
{
$Connection = mysql_connect('localhost','root','') or die(mysql_error());
$ConnectionDB = mysql_select_db($Connection) or die(mysql_error());
$res = mysql_query("SELECT * from `add` WHERE empid = '".$value1."'") or die(mysql_error());
echo "<table border='1'>
<tr>
<th>Name</th>
<th>EmployeeID</th>
<th>Address</th>
</tr>";
while($row = mysql_fetch_array($res))
{
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['empid'] . "</td>";
echo "<td>" . $row['add'] . "</td>";
echo "</tr>";
}
echo "</table>";
}
注意:當您的代碼工作時,請使用“;”刪除此“或die(mysql_error()) ”。 它僅在生產模式下使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.