php中的意外type字符串,关于php:解析错误:语法错误,意外’文本’(T_STRING),期待’,’或’;’...
本問題已經有最佳答案,請猛點這里訪問。
我很難讓這個工作。我可以從下拉菜單調用數據,并將其放入表中,并在不重新加載頁面的情況下使其主動更新。我現在正在嘗試獲取調用后出現在文本輸入字段或其他下拉菜單中的數據庫信息。
所以基本上我有一個下拉菜單,可以調用用戶信息,我正在嘗試獲取被調用的信息顯示在另一個表單中,這樣我就可以更新它了。這是我正在處理的代碼;
表7.PHP
function showUser(str) {
if (str=="") {
document.getElementById("txtDisp").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtDisp").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getuser2.php?q="+str,true);
xmlhttp.send();
}
Select a person:
$con=mysqli_connect("localhost","user","password","database");
// Check connection
if (mysqli_connect_errno()) {
echo"Failed to connect to MySQL:" . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM users");
while($row = mysqli_fetch_array($result)) {
echo"" . $row['uname'] ."";
mysqli_close($con);
}
?>
Person info will be listed here.
GETUSER 2.PHP
$q = intval($_GET['q']);
$con=mysqli_connect("localhost","user","password","database");
// Check connection
if (mysqli_connect_errno()) {
echo"Failed to connect to MySQL:" . mysqli_connect_error();
}
$sql="SELECT * FROM users WHERE id = '".$q."'";
$result1 = mysqli_query($con,$sql);
echo"
echo"
";while($row1 = mysqli_fetch_array($result1)) {
echo"
";echo"
";echo"
" . $row1['email'] ."";echo"
" . $row1['info1'] ."";echo"
";}
echo"
";echo"
";mysqli_close($con);
?>
在getuser2.php代碼中,如果去掉表單輸入部分并用下面直接用于電子郵件和信息格式的uname調用替換它,它將以標準文本格式顯示從數據庫調用的數據。
但是,我遇到了這個錯誤:
Parse error: syntax error, unexpected 'text' (T_STRING), expecting ',' or ';' in C:\wamp\www\getuser2.php on line 25
有錯誤信息嗎?
是,分析錯誤:語法錯誤,C:wampwwwgetuser2.php第25行中的"text"(t_string),應為","或";",第25行中的"echo"
;
你能把那個錯誤編輯成問題嗎?這太重要了,不能僅僅在評論中提及。啊哈…您需要使用"轉義該HTML塊中的引號,否則它們將充當字符串終止符。
根據下面的答案更新您的代碼,如果有幫助請告訴我
我也會嘗試你的方法,六角,我用了六角形,它有效,但有兩個工作方法會更有益,因為有時一個可能不工作…非常感謝您的幫助!!我會在幾分鐘內把它作為一個問題,以便其他人更容易參考!
是的,您的方法也可以使用十六進制,我已經更新了問題標題以反映解析錯誤。
問題如下:
echo"
";在雙引號字符串中有雙引號。PHP不知道字符串的結尾。
一個簡單的解決方法是將雙引號改為單引號(因為您無論如何都不會在字符串中使用變量):
echo '
';好的爵士色拉杰法爾肯!!!!非常感謝。所以,當在echo和form中調用變量時,我總是將""放在""的內部。是否存在不適用或導致進一步問題的情況?
單引號按原樣傳遞字符串。它有一個很好的副作用,可以讓您在不轉義任何東西的情況下寫出HTML,因為HTML主要使用雙引號。雙引號允許您在雙引號字符串中放置變量。另一種方法是使用"來避開每個雙引號,如@hex494d49的答案所示。
使用"over"是否有實質性的好處,反之亦然?
這在很大程度上是個人喜好的問題。我更喜歡使用單引號,因為它可以避免意外插入變量,但其他人更喜歡單引號,這樣他們就可以將變量放入字符串中了!也就是說,我傾向于對SQL語句使用雙引號,因為這樣我就可以在語句內部使用單引號了。無論什么對你有用!
不到5年,這個答案從根本上改變了我用JS和PHP編程的方式。
我想用的代碼
我只想從數據庫中搜索,并且我遵循說明和教程,這是錯誤
Parse error: syntax error, unexpected '$query2' (T_VARIABLE),
expecting ',' or ')' in C:\xampp\htdocs\search2.php on line 8
請在圖像鏈接中添加說明。
@保羅弗洛伊德也許是作為一個問題發布的。不幸的是,這是一個貼著"答案"的問題。應告知海報作為一個新問題張貼,而不是張貼在保留用于回答現有問題的部分。
如下所示更新這些行
$sql ="SELECT * FROM users WHERE id =" . $q ."";
// ...
echo"
// ...
echo"
";// ...
while($row1 = mysqli_fetch_array($result1, MYSQLI_ASSOC)) {
// ...
echo"
";@下投者請解釋一下。
我否決了b/c,SQL語句容易受到SQL注入的攻擊,然后刪除了它,因為它的重要性有點低。
@Serakfalcon:我同意SQL字符串連接不是一個好的實踐,但是OP已經注意到防范SQL注入。
@Serakfalcon,他的代碼不起作用是因為一些語法錯誤,而不是因為沒有使用準備好的語句。
@哈弗,謝謝你指出。
雖然這超出了原始問題的范圍,但是什么樣的格式更適合嘗試實現我的目標?只是讓它重定向到另一個頁面進行更新?
@LeonardFrost事實上,我會有一個對象user和方法,select、edit、update、add和insert,以及至少兩個模板-一個用于select和delete,一個用于insert和update。因此,有三個文件:user.php和tempaltes user_details.php和user_form.php。你可能還有另一個,user_list.phptempalte,把它們都列在一起。
我正試圖從根本上發展這一點,但我想嘗試從一個頁面調用它們。php(或者我當時正在研究的任何變體)將是調用其中其他頁面的主頁,這樣頁面就不會不斷地重新加載(在傳統意義上),并通過使用Ajax腳本為最終用戶創建一種簡化的體驗。我認為這是不可取的,因為我把表7.php中的數據調用到getuser2.php中,而不是讓getuser2.php打開自己的數據庫連接?對不起,我是一個相對新手。
我可能完全誤解你了
Copyright ?? 碼農家園
總結
以上是生活随笔為你收集整理的php中的意外type字符串,关于php:解析错误:语法错误,意外’文本’(T_STRING),期待’,’或’;’...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql useing查询,MySQL
- 下一篇: php代码以什么开始以什么结束,【后端开