入力フィールドに値を表示する際に問題が発生しています。私は過去にこれをやっていて、コードが間違っているところを知りませんでした。Ajaxリクエストデータ型json
id = "input"の入力フィールドとid = "button"のボタンがあります。これは私のjqueryのコードです:
$("#button").click(function() {
var uid = <?php echo $user['uid']; ?>;
$.ajax({
url: "php/fetchUserData.php",
method: "POST",
data: {
uid: uid
},
dataType: "json",
success: function(text) {
$("#input).val(text.bedrijfsnaam);
}
});
});
そしてここでは、PHP/fetchUserData.phpファイルの上のコードです:
<?php
include_once 'dbc.php';
if($_POST){
$uid = $_POST['uid'];
$sql = "SELECT * FROM users WHERE uid = '$uid'";
$query = mysqli_query($dbc, $sql);
$result = mysqli_fetch_assoc($query);
echo json_encode($result);
}
?>
UPDATE:
- のvar_dump($結果)が表示されません連想配列
- console.log(テキスト)は結果を与えません。
- dataTypeをtextに変更し、json_encode($ result)の代わりに$ result ['bedrijfsnaam]]がすべてうまくいったら。問題は、bedrijfsnaam(=会社名)以上のものをロードしたいということです。
UPDATE 2:
私は非常に同じコードを使用しますが、データベース内の別のテーブルでそれは作品をした場合。私は本当にここに問題があるかもしれないという手掛かりを持っていません... 私はusersテーブルで何が問題になるのかを調べていますが、テーブルに4行ありますが、カーディナリティは0です。データベースの他のテーブルでは、カーディナリティ値は行数を表します。それはこの問題と関係がありますか?
UPDATE 3:代わりに、クエリの
:
$sql = "SELECT * FROM users WHERE uid = '$uid'";
は、私が試した:
$sql = "SELECT bedrijfsnaam FROM users WHERE uid = '$uid'";
そして、それは働きました!そして、私は列の名前を追加し始めました。すべての列が特定の列までよくなりました。土地(国を意味します)は、表の他の多くの列と同じようにvarchar列です。
この特定の列でエラーが発生する原因は何ですか?
これはphpやjqueryの質問ではなく、phpmyadminの質問になったことは分かっています。質問はフォーラムのSQLの部分に移動する必要がありますか?
は、あなたがにconsole.log(テキスト) 'それはあなたは' $( "#入力") 'に終了引用符が欠落している –
console''に何を印刷しない 'しようとしている仕事を願っています。 – Barmar
あなたのコードはSQLインジェクションに対して脆弱です。 「PHPでのSQLインジェクションを防ぐにはどうすればよいですか?」(https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – Barmar