sql >> データベース >  >> RDS >> Mysql

SQLクエリを使用してデータベースに値の配列を挿入しますか?

    別の同様の解決策があります。

    コード:

    <?php
    function mysql_insert_array($table, $data, $exclude = array()) {
    
        $fields = $values = array();
    
        if( !is_array($exclude) ) $exclude = array($exclude);
    
        foreach( array_keys($data) as $key ) {
            if( !in_array($key, $exclude) ) {
                $fields[] = "`$key`";
                $values[] = "'" . mysql_real_escape_string($data[$key]) . "'";
            }
        }
    
        $fields = implode(",", $fields);
        $values = implode(",", $values);
    
        if( mysql_query("INSERT INTO `$table` ($fields) VALUES ($values)") ) {
            return array( "mysql_error" => false,
                          "mysql_insert_id" => mysql_insert_id(),
                          "mysql_affected_rows" => mysql_affected_rows(),
                          "mysql_info" => mysql_info()
                        );
        } else {
            return array( "mysql_error" => mysql_error() );
        }
    
    }
    ?>
    

    使用例:

    <?php
    
    // Open database here
    
    // Let's pretend these values were passed by a form
    $_POST['name'] = "Bob Marley";
    $_POST['country'] = "Jamaica";
    $_POST['music'] = "Reggae";
    $_POST['submit'] = "Submit";
    
    // Insert all the values of $_POST into the database table `artists`, except
    // for $_POST['submit'].  Remember, field names are determined by array keys!
    $result = mysql_insert_array("artists", $_POST, "submit");
    
    // Results
    if( $result['mysql_error'] ) {
        echo "Query Failed: " . $result['mysql_error'];
    } else {
        echo "Query Succeeded! <br />";
        echo "<pre>";
        print_r($result);
        echo "</pre>";
    }
    
    // Close database
    
    ?>
    
    ";} //データベースを閉じますか?>

    ソース配列の挿入MySQLデータベーステーブルに



    1. PHPを介してSSH経由でmysqlデータベースに接続します

    2. C++およびmysqlの動的mysqlクエリを送信する方法

    3. 非主キー、一意の自動インクリメントIDにSQLAlchemyORMを使用する

    4. 計画コストの問題点を説明する