Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कैसे php में एक सुरक्षित mysql तैयार बयान बनाने के लिए?

यहाँ mysqli का उपयोग करते हुए एक उदाहरण दिया गया है (ऑब्जेक्ट-वाक्यविन्यास - यदि आप चाहें तो फ़ंक्शन सिंटैक्स में अनुवाद करना काफी आसान है):

$db = new mysqli("host","user","pw","database");
$stmt = $db->prepare("SELECT * FROM mytable where userid=? AND category=? ORDER BY id DESC");
$stmt->bind_param('ii', intval($_GET['userid']), intval($_GET['category']));
$stmt->execute();

$stmt->store_result();
$stmt->bind_result($column1, $column2, $column3);

while($stmt->fetch())
{
    echo "col1=$column1, col2=$column2, col3=$column3 \n";
}

$stmt->close();

साथ ही, यदि आप साहचर्य सरणियों को हथियाने का एक आसान तरीका चाहते हैं (चयन * के साथ उपयोग के लिए) तो यह निर्दिष्ट करने के बजाय कि वास्तव में किस चर से जुड़ना है, यहां एक आसान कार्य है:

function stmt_bind_assoc (&$stmt, &$out) {
    $data = mysqli_stmt_result_metadata($stmt);
    $fields = array();
    $out = array();

    $fields[0] = $stmt;
    $count = 1;

    while($field = mysqli_fetch_field($data)) {
        $fields[$count] = &$out[$field->name];
        $count++;
    }
    call_user_func_array(mysqli_stmt_bind_result, $fields);
}

इसका उपयोग करने के लिए, बस bind_result को कॉल करने के बजाय इसका आह्वान करें:

$stmt->store_result();

$resultrow = array();
stmt_bind_assoc($stmt, $resultrow);

while($stmt->fetch())
{
    print_r($resultrow);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL CRC32 () फ़ंक्शन – उदाहरण

  2. MySQL में इंडेक्स कैसे बनाएं

  3. DISTINCT मानों की घटनाओं की गणना करें

  4. phpMyAdmin ('एक्सेस अस्वीकृत डेटाबेस बनाएं db_name' त्रुटि) के माध्यम से डेटाबेस को आयात और निर्यात कैसे करें

  5. SQL के साथ MySQL डेटाबेस में पहले या अंतिम कुछ वर्णों को निकालें या ट्रिम करें