MySQL sorguları çalıştırmak için ajax javascript ve php kullanın

3 Cevap php

Benim bir proje üzerinde bazı kod bakarak ve sadece basit bir güncelleştirme çalıştırmak veya sorgu eklemek ve bu beni düşündürdü ajax ile arama tüm php sayfaları düşünüyordum. Ne aslında javascript bir ekleme veya güncelleştirme sql sorgusu çalıştırmak eğer.

Ben prototip sunucu tarafında ajax ve php için javascript framework kullanıyorum varsayarak.

Bu işe yarar mı?

js:

<script type="text/javascript">
// table is string containing table name
// fields is an array of field names
// values is an array of values
function mysql_insert(table,fields,values) {
    var sql = "INSERT INTO " + table + "(";
    for(i=0; i<fields.length; i++) {
        sql = sql + "`"+fields[i]+"`";
    }
    sql = sql + ") VALUES (";
    // purposefully used fields array in for loop so we get matching number of values
    for(i=0; i < fields.length; i++) {
        sql = sql + "'"+values[i]+"'";
    }
    sql = sql + ");";

    var par = 'query='+sql;
    var ajax = new Ajax.Request('sql.php',{method:'post',parameters:par,onComplete:function(res) { }});
}
</script>

php:

<?php
    include('db.php');  // connect to the mysql server and select database
    mysql_query($_POST['query']);
?>

Açıkçası bu işe ve ben her bir ayrı bir sorgu çalıştıran küçük php sayfaları çok yerine eğer bilmek sadece ilgi, basit bir örnek?

3 Cevap

Don't do that!

Herkes o veritabanı ile seviyor yapmak ne kadar izin verir!

O senin Veritabanına herhangi bir sql komut göndermek mümkün olacaktır.

Neden PHP SQL deyimi gizlemek değil mi? Bu halk için veritabanı şemasını ortaya çıkarmak için çok tehlikelidir.

Sadece alan adları olmadan verileri aktarmak için çalışın.

Kesinlikle doğru Ghommey. Eğer uygulama mimarisi yeniden göze olsaydı o zaman okumanızı öneririm Advanced Ajax: Architecture and Best Practices. Bu ajax ilgili güvenlik konularını ele ve nasıl ajax ve daha ilginç sunucu tarafı komut dosyası PHP ile çalışmak için uygulama tasarımı olmalıdır.