php・MySQL初心者です。
何とかここまで自力でやってこれたのですが、もうお手上げで…。
サンプルコードを解析し、部分的に理解しながら進んでる状態です。
やりたいことは、
「ユーザーが入力した文字列の最後の1文字だけを抜き出し、データベースに代入する」です。 ←(2)
ちなみに、
「ユーザーが入力した文字列をそのまま、データベースに代入する」はできました。←(1)
参考に、(1)のソースコードの一部を書きます。
-------------------------------------------
『main.php』
<form action="result.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="<?= $file_maxsize ?>">
タイトル:<INPUT type="text" name="title" size="50"><br>
コメント:<INPUT type="text" name="comment" size="50"><br>
<input type="submit" value="送信">
</form><hr>
-------------------------------------------
『result.php』
$comment = @trim($_REQUEST['comment']);
//※
$query = "insert into main_t (comment, last)"
. " values ('$comment', '$last')";
$result = mysql_query($query);
-------------------------------------------
だいたいこんな感じで(1)は出来ました。
(関係がありそうなところだけを抜き出したつもりです…)
『main.php』で出力して確認もしました。
(2)の現状の私のコードを書きます。
-------------------------------------------
『result.php』
$x = mysql_query("select right('$title', 1)");
$last = mysql_fetch_assoc($x);
-------------------------------------------
これを(1)の //※ の部分に記述してみましたが、うまくいきません。
出力するとなぜか「Ar」と出てきます…泣
『select right('いちもじ', 1)』で『じ』とちゃんと右一文字が取り出せるのをbatファイル?みたいなので確認しました。
このSQL文をPHP内で行いたいのですが、やり方がわかりません…。
(そもそも根本的に間違っているのでしょうか…)
$x = mysql_query("select * from ○○ where 条件");
$last = mysql_fetch_assoc($x);
みたいにfromで検索先や条件を指定して得た「配列」を取得し、表示する方法はネット検索で沢山見つかったのですが、fromやwhereを使わず、結果も配列ではなく1つだけ得られるような場合は、どうすればよいのでしょうか?
わかりづらい文章ですみません;
難しい質問かとは思いますが、PHPやMySQLに詳しい方がいましたら、是非ともご教授いただけたらと思います。
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
その後、どうですか?
文字エンコーディングについては、お使いのエンコーディングを指定して(あるいは内部エンコーディングでよければ省略してもよいです)、以下のコードで動くのではないでしょうか?
エンコーディングはutf8としていますが、これは適宜変えてください(もしくは省略してください)
$last_char = mb_substr($str, mb_strlen($str,'utf8')-1, 1, 'utf8');
まだ質問が閉じられていなかったので、気になりました。
No.2
- 回答日時:
通りがかりのものです。
ユーザからの入力の最後の一文字を取得するために、データベースを使用する必要はありません。PHPで行うのが一般的です。
まず、mb_系の関数が使えることを確認してください。多分使えます。もし使えない場合は使えるようにしてください。
http://php.netで、これらの関数の使い方を学んでください。
健闘を祈る。
参考URL:http://php.net/
No.1
- 回答日時:
mb_substr
http://php.net/manual/ja/function.mb-substr.php
サポートされる文字エンコーディング
http://php.net/manual/ja/mbstring.supported-enco …
//※の部分は以下のようになるかと
$encoding = "SJIS";
$last = mb_substr($title, -1, 1, $encoding);
※PHPのリファレンス見ただけでテストとかしていません。エンコーディングは環境に応じて変えてください。
ご参考になれば幸いです。
>php・MySQL初心者です。
それどころか、プログラミング自体、初心者ですよね・・・。
これ難しい質問じゃなくて文字列処理の問題で、基礎的なことです。ようするに勉強不足なだけです。(だからPHPをろくにしらない私でも答えられるわけで・・・)
ネットは基礎的なことを学ぶには不向きな面もありますので、書籍で基礎を体系的に学ぶことをおすすめします。(一番いいのは知っている人に教えてもらうことですが、難しいですよね)
あと、エスケープ処理を行ってください。(下のリファレンスの例を参考にしてください)
mysql_real_escape_string
http://php.net/manual/ja/function.mysql-real-esc …
mysqli_real_escape_string
http://php.net/manual/ja/mysqli.real-escape-stri …
リファレンスに mysql_query とかは現在では非推奨とあるので、注意してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLでshal()関数のエラーがで...
-
トランザクション処理
-
エクセルVBAについて
-
VBAをつかってクエリの情報を抽...
-
実行時エラー3131 FROM 句の構...
-
PHP + MySQLを使用して詳細画面...
-
PHPでMY SQLの連想配列をリンク...
-
クエリObjectをforeachで回す時...
-
php データ削除
-
phpでmysqlを使ってデータベー...
-
SQLインジェクション対策
-
アラートでyes noを作りたいです。
-
Q&Aサイトを作成していてURLの...
-
MySQLでデータベースにデータin...
-
SQLのSUM関数で取得した値を参...
-
連想配列、オブジェクト配列の...
-
cakePHPでSQLが実行できない。
-
php テーブルを作れない
-
PHP+mysqlでSQL文に文字数制限...
-
SQL文の実行に失敗しました???
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アポストロフィを含む文字列の追加
-
MySQLでshal()関数のエラーがで...
-
MySQLでデータベースにデータin...
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
JAVA SQLServerException 列名 ...
-
Q&Aサイトを作成していてURLの...
-
<VB.NET>INSERT文でDBにデータ...
-
テキストボックスに入れた内容...
-
SQL文が実行できません
-
insert1つの処理でもトランザ...
-
Pro*Cの構文エラー
-
php テーブルを作れない
-
PHPで[]の使い方について
-
mysql_fetch_objectのエラー
-
php テーブルが作成できない
-
エラー3011
-
XAMPPで画面が真っ白になります。
-
ResultSetインターフェイスでの...
-
dbに登録したデータをphpのプル...
おすすめ情報