MySQLデータベースからデータを更新できません

Amirul Omar |

これは私のupdate.phpコードです。私はすでに他のphpファイルをチェックしましたが、問題は見つかりませんでした。このコードにはエラーはありませんが、データベースのデータを更新できません。

require_once "conn.php";
$conn=connect();
$db=connectdb();

$id= "";
$parcelno = "";
$items = "";
if(isset($_REQUEST['id'])){ $id= $_REQUEST['id']; }
if(isset($_REQUEST['parcel'])){ $parcel = $_REQUEST['parcel']; }
if(isset($_REQUEST['items'])){ $items = $_REQUEST['items']; }


mysql_select_db($db,$conn) or die (mysql_error()."\n");
$sql="UPDATE parcel SET parcelno='$parcelno', items='$items' where id='$id'";
$result=@mysql_query($sql) or die(mysql_error()."\n");

これは、更新フォームに使用されたedit.phpコードです。

<?php 
$ic = $_REQUEST["ic"];
require_once "conn.php";
$conn = connect();
$db = connectdb();

mysqli_select_db($conn,$db) or die (mysqli_error($conn)."\n");
$query_usr = "select * from parcel";
$usr = mysqli_query($conn,$query_usr) or die (mysqli_error($conn)."\n".$query_usr);
$row_usr = mysqli_fetch_assoc($usr);
?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: #CCC;
}
</style>
</head><body><center><p><a href="adminselect.php"><img src="image/header.png" width="800" height="200"></a></p></center>
<form action="update.php" method="get">
<?php
$sql = "SELECT * FROM parcel where ic = $ic";
$result1 = mysqli_query($conn,$sql);
while ($row=mysqli_fetch_assoc($result1)){
?>
<center><table border="0">
<tr>
<td colspan="3" bgcolor="#0066FF"><strong><center>Update Registration </strong></td>
</tr>
</tr>
<tr>
<td bgcolor="#0099FF">Parcel Number</td>
<td>:</td>
<td bgcolor="#FFFFFF"><input name="parcelno" type="text" id="parcelno" value="<?php echo $row["parcelno"];?>" size="50"></td>
</tr>

<tr>
<td bgcolor="#0099FF">Items</td>
<td>:</td>
<td colspan="2" bgcolor="#FFFFFF">
<p>
<label for="select"></label>
<select name="items" size="1" id="items">
<option><?php echo $row["items"];?></option>
<option>Pos Laju</option>
<option>Pos Ekspress</option>
<option>Skynet</option>
<option>GDEX</option>
<option>Nationwide Express</option>
<option>FedEx</option>
<option>UPS</option>
</select>
</p></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>

<td colspan="2" bgcolor="#CCCCCC"> <input name="" type="submit" value="Update"></td>
</tr>
<?php }?>
</table></center>
</form></body></html>

私はこの問題をほぼ半日調査しましたが、何も機能しません:/

ファンクフォーティナイナー

2つの異なる変数を使用しています。

$parcelno UPDATEクエリで

そして $parcel = $_REQUEST['parcel'];

両方の変数一致する必要があります。そうでない場合、クエリ全体が失敗します。


開始<?phpタグの直後にファイルの先頭にエラーレポートを追加します。これは、実稼働前のテスト中に役立ちます。

error_reporting(E_ALL);
ini_set('display_errors', 1);

現在のコードはSQLインジェクションに対してオープンです。使用して、書類を作成し、またはPDOとのプリペアドステートメント


さらに、nkchandraコメントで引用ます+1(可能であれば):

「あなたの質問とは無関係ですが、参考までに、PHPMyAdminはデータベースではなく、あなたの場合はmysqlのようなデータベースと対話するためのツールです。」


編集:コメントを読んだ後、mysqli_機能に切り替える必要があるようです

これは、プリペアドステートメントの使用法を学ぶ前の簡単な修正です。

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);


$DB_HOST = "xxx"; // replace with yours
$DB_USER = "xxx"; // replace with yours
$DB_PASS = "xxx"; // replace with yours
$DB_NAME = "xxx"; // replace with yours


$conn = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if($conn->connect_errno > 0) {
  die('Connection failed [' . $conn->connect_error . ']');
}

$id= "";
$parcelno = "";
$items = "";
if(isset($_REQUEST['id'])){ 
$id= mysqli_real_escape_string($conn,$_REQUEST['id']); }
if(isset($_REQUEST['parcel'])){ 
$parcelno = mysqli_real_escape_string($conn,$_REQUEST['parcel']); }
if(isset($_REQUEST['items'])){ 
$items = mysqli_real_escape_string($conn,$_REQUEST['items']); }


$sql="UPDATE parcel SET parcelno='$parcelno', items='$items' where id='$id'";
$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");

if (!$result)
    {
        throw new Exception($conn->error);
    }

else { echo "Success"; }

mysqli_close($conn); // close the connection

さらに、r3wt'sコメントによると:次のものも使用できます:

$result= $conn->query($sql) or die(mysqli_error()."\n");

の代わりに

$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonからデータベースを更新できません

分類Dev

Android - SQLite データベースからデータを更新できません

分類Dev

MySQLデータベースの行を更新できません

分類Dev

PHPとMySql:データベースを更新できません

分類Dev

C#からSQLデータベースを更新できません

分類Dev

mysqlデータベースからユーザーデータをフェッチできません

分類Dev

MySQLデータベースから行をフェッチできません

分類Dev

PHPからmysqlのデータを更新できません

分類Dev

データベースから行を削除できません

分類Dev

データベースから値を取得できません

分類Dev

データベースから行を削除できません

分類Dev

Firebaseデータベースからデータを受信できません

分類Dev

データベースから列のデータを取得できません

分類Dev

FirebaseデータベースからOrderbyChild()データを取得できません

分類Dev

codeigniterのデータベースからデータを削除できません

分類Dev

CodeIgniter:データベースからデータを取得できません

分類Dev

データベースからデータを取得できません

分類Dev

sqlalchemy:データベースからデータを取得できません

分類Dev

Firebase データベースからデータを取得できません

分類Dev

Firebase データベースからデータを取得できません

分類Dev

Firebase データベースからデータを受信できません

分類Dev

データベースから出力データを取得できません

分類Dev

Firebaseデータベースからデータを受信できません

分類Dev

FirebaseRealtimeデータベースからデータを取得できません

分類Dev

mysqlデータベースphpからデータをエコーできません

分類Dev

Spring BootはMySQLデータベースからデータをフェッチして表示できません

分類Dev

C#:MYSQLデータベースからUnicode文字としてデータを印刷できません

分類Dev

MySQLデータベースから必要なデータを選択できません

分類Dev

データベースをデタッチできません(c#から)

Related 関連記事

  1. 1

    Pythonからデータベースを更新できません

  2. 2

    Android - SQLite データベースからデータを更新できません

  3. 3

    MySQLデータベースの行を更新できません

  4. 4

    PHPとMySql:データベースを更新できません

  5. 5

    C#からSQLデータベースを更新できません

  6. 6

    mysqlデータベースからユーザーデータをフェッチできません

  7. 7

    MySQLデータベースから行をフェッチできません

  8. 8

    PHPからmysqlのデータを更新できません

  9. 9

    データベースから行を削除できません

  10. 10

    データベースから値を取得できません

  11. 11

    データベースから行を削除できません

  12. 12

    Firebaseデータベースからデータを受信できません

  13. 13

    データベースから列のデータを取得できません

  14. 14

    FirebaseデータベースからOrderbyChild()データを取得できません

  15. 15

    codeigniterのデータベースからデータを削除できません

  16. 16

    CodeIgniter:データベースからデータを取得できません

  17. 17

    データベースからデータを取得できません

  18. 18

    sqlalchemy:データベースからデータを取得できません

  19. 19

    Firebase データベースからデータを取得できません

  20. 20

    Firebase データベースからデータを取得できません

  21. 21

    Firebase データベースからデータを受信できません

  22. 22

    データベースから出力データを取得できません

  23. 23

    Firebaseデータベースからデータを受信できません

  24. 24

    FirebaseRealtimeデータベースからデータを取得できません

  25. 25

    mysqlデータベースphpからデータをエコーできません

  26. 26

    Spring BootはMySQLデータベースからデータをフェッチして表示できません

  27. 27

    C#:MYSQLデータベースからUnicode文字としてデータを印刷できません

  28. 28

    MySQLデータベースから必要なデータを選択できません

  29. 29

    データベースをデタッチできません(c#から)

ホットタグ

アーカイブ