まず文字化けについて質問させてください
my.iniに[client]default-character-set=utf8 [mysqld]default-character-set=utf8を設定してからwampを再起動すると、phpmyadminが接続できません、つまり#2002です。そのソケット エラー メッセージが表示され、my.ini に加えた変更を元に戻しましたが、依然として接続できませんでした (変更を元に戻せば問題ないはずです?? 質問 1) 最後に、localhost を 127.0 に変更しました。 .0.1 のみ正常に戻りました
質問 2: 上記の操作後
最後の質問
1. conn ファイル
<?php $conn = mysql_connect("localhost","root","") or die("Can't connect database: ".mysql_error());if($conn) echo "链接成功!"; mysql_select_db("liuyan"); mysql_query("set names 'gbk'");?>
<form name = "msgform" method = "post" action = "write.php" enctype = "multipart/form-data" onsubmit = "return checkMessage()">//javascript略去了<table width = "64%" border = "0" cellspacing = "1" cellpadding = "3" bgcolor = "#66CCFF" align = "center"><tr><td width = "48%">用 户: <input type = "txet" name = "username"></td> </tr> <tr><td colspan = "2">标 题:<input type = "text" name = "title" size = "60" maxlength = "50"></td></tr><tr><td colspan = "2"><textarea name = "content" rows = "10" cols = "100"></textarea></td></tr><tr><td><div align = "right"><input type = "submit" name = "sub" value = "提交"></div></td><td><input type = "reset" name = "Rewrite" value = "重写"></td></tr> </table></form>
<?phpinclude("conn.php");if(isset($_POST['username'])){ $username = $_POST['username']; $title = $_POST['title']; $content = $_POST['content']; $sql = "insert into easy values('$username','$title','$content',now())"; mysql_query($sql) or die("插入失败: ".mysql_error());}?><?phpinclude("conn.php"); $rowsPerPage = 10; $row = mysql_fetch_array(mysql_query("select count (*) as c from easy")); //查询总记录数...这点书上看的,不太懂,求解释 $rows = $row['c']; //得到记录数 /* $a = "select * from easy"; $b = mysql_query($a); $rows = mysql_num_rows($b);这个可以么? 另外这个和上面那个有什么区别?? */ $pages = ceil($rows/$rowsPerPage); //计算页数 $curPage = 1; if(isset($_REQUEST['curPage'])) $curPage = $_REQUEST['curPage']; $sql = "select * from easy order by posttime" ." limit ".($curPage - 1) * $rowsPerPage." ,$rowsPerPage"; $result = mysql_query($sql) or die(mysql_error()); while($row = mysql_fetch_array($result)){ echo "<table width = 90% align=center cellpadding=5 cellspacing=1 bgcolor=blue>"; echo "<tr>"; echo "<td rowspan = 2 width = 25% bgcolor = white>"; echo "<tr>标题:<?=$row[title]?></tr>"; echo "<li>用户:<?=$row[username]?>"; echo "<li> <?= $row[posttime]?>"; echo "</td>"; echo "<td>内容:<?= $row[content]?></td>"; echo "</tr>"; echo "</table>"; echo "<br>"; } //分页链接 echo "<div align = center>"; for($i = 1;$i<$pages;$i++) echo "<a href = 'write.php?curPage = $i'>$i</a>$nbsp; "; echo "</div>";?>
1.結果が不明な場合 構成情報を勝手に変更しないでください
2. データベースサービスは公開されており、全体の構成を変更すると他のアプリケーションの使用に影響を与えることは避けられません
3. 構成情報の変更は、単に影響を受けるだけです変更後のパフォーマンスに影響を与えます。変更時刻より前に保存されたデータは問題を引き起こす可能性があります
4. ALTER を使用して文字セットを変更すると、コンテンツの文字セットも同時に変換できるという人もいます。しかし、少なくとも私が使用している mysql では不可能です
問題の解決に役立つように、元の設定ファイルを復元することをお勧めします
フィールドの文字セットを設定し、set names コマンドを適切なタイミングで使用することは、正しいアプローチ
なぜなら、プロジェクトは既存の環境で実行される可能性が高いからです。プログラムが外部構成に依存している場合、その結果が考えられます