私は、メッセージデータベースを使用してメッセージデータを格納するメッセージングWebサイトを作成しています。ただし、同時にユーザーが5人でがオンラインの場合、「MySQLi: Cannot Connect: Too many MySQL connections
」で失敗します。PHPがあまりにも多くのMySQLi接続を使用するのを防ぐには?
私のホストHelioHostは最大MySQL接続数を4に制限していると聞いていますが、これは私のエラーを説明しています(詳細はthisを参照してください)。
スクリプトを変更する方法(メッセージフォームの送信時に現在接続しているデータベースをデータベースに追加してから切断する)がサーバー上で最大4つの接続しか使用できないことを知りたいと思います。
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("MySQL server connection failed: " . $conn->connect_error);
}
//Process data
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_SESSION["username"];
$parent = $_POST["thread"];
$content = test_content($_POST["content"]);
$sql = "INSERT INTO `threads_replies`(`Parent`, `Author`, `Content`) VALUES ('" . $parent . "','" . $name . "','" . $content . "')";
$conn->query($sql) or die ("Failed MySQL query to save reply");
echo "Reply saved. <a href=\"viewthread.php?id=" . $parent . "\"><span class=\"fa fa-chevron-circle-left\"></span> Back to Thread</a>";
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
function test_content($data) {
$data = str_replace("'", "'", $data);
return $data;
}
任意のアイデア:
ここにいくつかのコードは?右のドキュメントから
あなたはより多くの接続を可能にするホストを取得する必要があるようですが、そうでなければあなたのサイトが普及したら難しくなるでしょう。 – Barmar
@Barmar私は誰かがデーモンのようなコードを思いつくかもしれないと思っていました。これは、他のスクリプトや他のスクリプトからの問い合わせを接続して受け取りますか?これは、より多くの接続の必要性を排除するでしょう – StellarDoor5319
"誰かが来るかもしれない"?これはコード作成サービスではありません。それがあなたの望むものなら、あなた自身で書くべきです。 – Barmar