मेरे पास यह php कोड है जो AJAX के साथ भेजे गए 3 चरों के आधार पर मेरे MySQL डेटाबेस में एक पंक्ति को अपडेट करता है, लेकिन यह एक http देता है 500 त्रुटि:

<?php
$dbname = 'xxxxxxxxxx';
$dbuser = 'xxxxxxxxxxxx';
$dbpass = 'xxxxxxxxxxxxx';
$dbhost = 'xxxxxxxxx';
$link = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}

$topparent = $_POST['name']; 
$column = $_POST['column']; 
$value = $_POST['value']; 

$sql = "UPDATE reloaded SET" . $column . " = '" .$value . "'WHERE top_parent = '" . $name ."';

$retval = mysql_query( $sql, $link );
         if(! $retval ) {
            die('Could not create table: ' . mysql_error());
         }
         echo "success\n";
         mysql_close($link);
?>

मेरी jquery js यह है। चर सही ढंग से पारित हो जाते हैं (अलर्ट के साथ प्रयास किया जाता है):

function updatedb(a,b,c){
    $.ajax({
       url: "updatedb.php",
       type: 'POST',
       data: ({name:a,column:b,value:c}),
       success: function(msg) {
          alert('DB updated');
       }               
    });
};

कोई विचार क्यों यह एक त्रुटि देता है? मैंने कोड पर जाने में कुछ समय बिताया है, विभिन्न बदलावों की कोशिश कर रहा हूं लेकिन इसे समझ नहीं पा रहा हूं।

-2
cmplieger 17 पद 2017, 06:55

2 जवाब

सबसे बढ़िया उत्तर

SQL क्वेरी स्टेटमेंट में PHP सिंटैक्स त्रुटि है।

आप " को समाप्त करने से चूक गए हैं और इसलिए 500 त्रुटि।

सही किया गया कोड:

$sql = "UPDATE reloaded SET " . $column . " = '" .$value . "' WHERE top_parent = '" . $name ."'";

संपादित करें

इसके अलावा, SET कीवर्ड के बाद कोई स्पेस नहीं है।

इसे ठीक करने से आपका डीबी ठीक से अपडेट हो जाएगा।

2
marc_s 6 जिंदा 2018, 01:15

आपके पास

$sql = "UPDATE reloaded SET" . $column . " = '" .$value . "'WHERE top_parent = '" . $name ."';

और घुंघराले ब्रेसिज़ का उपयोग करके - सिंटैक्स समस्या (समस्याओं) को हाइलाइट करता है

$sql = "UPDATE reloaded SET{$column} = '{$value}'WHERE top_parent = '{$name}';
-2
marc_s 6 जिंदा 2018, 01:15