0

...私はこれ以上進んでいません。

私のデータベースには「名前」=「ジョン・リチャーズ」という列が含まれています

私はそれを次のように照会しようとします:

$act = "John Richards";
prepareEditing($act);

function prepareEditing($act) {
include ($_SERVER['DOCUMENT_ROOT']."/final_ritg/includes/dbconnect.php");
$act = str_replace(" ", " ", $act);
$sql = "select `name`,`genre`, `members`, `story`, `image`, `contact_fname`, `contact_lname`, `contact_phone`, `contact_email` from `festival`.`act` where `name` = :name ;";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $act);
$stmt->execute();

echo $stmt->rowCount();
}

'name'に'john'のように1つの単語しか含まれていない場合、関数は1を返します($actは'john'も保持します)。

クエリを準備するにはどうすればよいですか?

編集:私は全面的にutf8を使用しています。

編集:これは、データを挿入するために使用する準備stmtです:$ stmt-> bindParam(':name'、str_replace(''、''、$ name));

クエリ結果を取得しようとすると、空白で切り取られてしまうため、そうしました。

4

1 に答える 1

0

結局のところ、私の間違いは php ではなく、html の中にありました。

テーブルから選択リストを作成していました。名前は一意だったので、それらを主キーおよび各選択オプションの値として使用しました...それらは空白が好きではありません。

ここでの解決策は、番号付きインデックスをテーブルに追加するか、文字列変換を行うことです (ただし、クエリ用の文字列を準備するために多くの余分な作業が必要になります)。

とにかく、別の初心者が同じトラップに遭遇し、これが役立つと思うかもしれません.

于 2012-12-10T22:55:12.013 に答える