iT邦幫忙

0

php連rds的 INSERT

1.下面是我寫入RDS的程式碼

<?php
include('connect.php');
if(!empty($_POST['personID'])){
   $personID=$_POST['personID'];
   $password=($_POST['password']);
   $name=$_POST['name'];
   $gender=$_POST['gender'];
   $date=$_POST['date'];
   $sql2="INSERT INTO kpmg  VALUES('$personID','$password','$name','$gender','$date');";
   mysqli_query($link,$sql2);
   echo "<script> {window.alert('註冊成功!');location.href='index.php'} </script>";
  }
?>

這在我本機端測試的時候都可以寫入,但是當connect換成RDS的時候雖會顯示註冊成功但卻沒有寫入資料庫內了,誰可以幫我解答一下:(

2.下面這個問題也是我connect換成RDS所出現了

include('connect.php');
if(!empty($_POST['personID'])){
  $personID=$_POST['personID'];
  $password=($_POST['password']);
  $sql="SELECT * FROM kpmg Where personID='$personID' && password='$password'";
  $ro=mysqli_query($link,$sql);
  $row=mysqli_fetch_assoc($ro);
  $total=mysqli_num_rows($ro);
  if($total==1){
     echo "登入成功!";
     $_SESSION['acc']=$row['personID'];
     $_SESSION['name']=$row['name'];
     $_SESSION['gender']=$row['gender'];
     $_SESSION['date']=$row['date'];
     header('location:index.php');
  }else{
    echo "<script> {window.alert('尚未註冊或是帳號密碼錯誤!');location.href='crein.php'} </script>";
  }
}
?>

也是在我本機端測試時可以登入,但是換成RDS後出現了下面的錯誤
https://ithelp.ithome.com.tw/upload/images/20210611/20137531w0YRXkAfka.png

我應該要改甚麼才可以讓他在正常運行呢?

2 個回答

0
小魚
iT邦大師 1 級 ‧ 2021-06-11 17:40:23

mysqli可以抓mysql的錯誤訊息,
要抓出錯誤訊息才有辦法知道.

0

建議你,先寫個測試的程式跑一下看看,是否有正確的連入RDS。
再來,MYSQL的應用函數。

如果你本機是用xampp的話。原則上有支援。
但可能線上的設定是沒支援的。
(當然,如果機器是你架設的話,理當你會注意到這個問題)

最後,RDS的連結,大多需要指定的HOST。
我不確定你的RDS是否指的就是AWS的RDS。如果是的話,要注意其HOST並非是用localhost
而是一長串落落長的網址連結。且也需要VNC連結處理。(除非你把RDS對外開放,這就另外一回事了)

你得先確定連結設定有處理好,可以先用以下的命令來測試看看,是否可以正常連結。

mysql -h連結RDS的網址 -u設定的帳號 -p設定的密碼

確定其機器能正常連結RDS後,再來跑程式測試。

zong1220 iT邦新手 5 級 ‧ 2021-06-11 19:31:33 檢舉

對我這邊提到的RDS為AWS的RDS,我有寫一個程式去確認有沒有連接到RDS,也有成功連接了,但是我找出問題了,我沒有進到database裡去放資料所以才會有錯誤,謝謝幫忙解答

我要發表回答

立即登入回答