0
由於某種原因,我沒有從這個代碼得到輸出。特別是從這個if語句中: 我插入了一個帶有測試詞的html標記,但它從未出現在輸出中。 我修正了「選擇」錯字..仍然得到相同的結果..沒有輸出..我認爲問題是從這個聲明。PHP的SQL沒有得到輸出
$db = new PDO("mysql:dbname=university", "root", "");
我插入另一個測試短語前右它 - 成功,另外一個它之後 - 沒有輸出
if($sel=="getinfo"){
try {
$db = new PDO("mysql:dbname=university", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$rows = $db->exec("SEEELECT * FROM fminformationtable WHERE FM_ID = '$_POST[iden]'");
?>
test
<?php
}
這是全功能
if($sel=="addnew"){
try {
$db = new PDO("mysql:dbname=university", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$rows=$db->query("INSERT INTO fminformationtable
VALUES('$_POST[iden]','$_POST[lname]','$_POST[fname]','$_POST[office]','$_POST[ext]','$_POST[hphone]','$_POST[mobile]','$_POST[address]','$_POST[email]','$_POST[syear]','$_POST[tyear]','$_POST[ldegree]','$_POST[ofrom]','$_POST[dyear]','$_POST[rinterest]')");
}
catch (PDOException $ex) {
?>
<p>Your information has been submitted! </p>
<?php
}
if($sel=="update"){
try {
$db = new PDO("mysql:dbname=university", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$rows=$db->query("UPDATE fminformationtable SET
Office=`$_POST[office]`,
Extension=`$_POST[ext]`,
HomePhone=`$_POST[hphone]',
MobilePhone=`$_POST[mobile]`,
Adress=`$_POST[address]`,
Email=`$_POST[email]`,
StartingYear=`$_POST[syear]`,
TerminationYrear=`$_POST[tyear]`,
LatestDegree=`$_POST[ldegree]`,
ObtainedFrom=`$_POST[ofrome]`,
DegreeYear=`$_POST[dyear]`,
ResearchInterest=`$_POST[rinterest]`
");
}
catch (PDOException $ex) {
}
}
}
if($sel=="delete"){
try {
$db = new PDO("mysql:dbname=university", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$rows = $db->exec("DELETE FROM fminformationtable WHERE FM_ID = '$_POST[iden]'");
}
catch (PDOException $ex) {
}
}
if($sel=="getinfo"){
try {
$db = new PDO("mysql:dbname=university", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$rows = $db->exec("SEEELECT * FROM fminformationtable WHERE FM_ID = '$_POST[iden]'");
?>
test
<?php
}
'SEEELECT'可能是一個錯字...它會拋出,這是從未被發現! –
直接在查詢中注入'POST'變量是一個巨大的錯誤。你需要閱讀SQL注入。由於您已經在使用PDO,因此切換到帶有綁定變量的預處理語句很容易。 – jeroen
@EugenRieck,嗯,是的,我相信就是這樣。 – brian