sql >> データベース >  >> Database Tools >> phpMyAdmin

PHPスクリプトの値のインクリメントが機能しない

    修正が必要ないくつかの事柄。まず、mysqliまたはPDOを使用する必要があるときにmysqlを使用します。次に、エスケープせずに投稿データを使用しています。第三に、この選択と更新は必要ありません。 1つのステートメントでそれを行うことができます。

    $query = "UPDATE tinyblog SET views = views + 1 WHERE id = (SELECT id FROM tinyblog where id=:article)"
    $db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
    $stmt = $db->prepare($query);
    $stmt->execute(array(":article"=>$article_id));
    

    ここで行っているのは、1つのプレースホルダーを使用して準備されたステートメントを作成することです。 :articleという名前を付けました ただし、?のままにしておくこともできます。 代わりに。

    次に、クエリが実行されるときに、パラメータを渡して不足しているビットを埋める必要があります。これが、最後のステップでarray(":article"=>$article_id)を使用して行っていることです。

    これは名前付きパラメーターなので、連想配列を使用します。または、 bindParam を呼び出した場合は、パラメーターなしでexecuteを呼び出すこともできます。 最初。



    1. CREATE ALGORITHM =UNDEFINED DEFINER

    2. phpMyAdminは#1130のスローを停止しません-ホスト「localhost」はこのMySQLサーバーへの接続を許可されていません

    3. SQL Serverテンプレート-文字未満をエスケープするにはどうすればよいですか?

    4. phpとmysqlを使用してその日の見積もりをID順に作成する方法