Вызов хранимой процедуры в mysql в PHP-скрипте

#php #jquery #mysql

#php #jquery #mysql

Вопрос:

У меня есть php-скрипт, который вызывается с помощью ajax post. Я получаю сообщение об ошибке
Ошибка синтаксического анализа: синтаксическая ошибка, неожиданная переменная T_VARIABLE вC:xampphtdocsEscapeSendTestimony.php в строке 9

Вот параметры

 $name = $_POST['name'];   
  

$message = $_POST[‘сообщение’];

Вот строка 9, в которой возникает ошибка. Спасибо за любую помощь.

 mysql_query("CALL sp_CreateTestimony("$name.", "$message.")");
  

РЕДАКТИРОВАТЬ ДОБАВЛЕН ВЫЗОВ JQUERY AJAX

  var parameters = {
                    'name': $('#cf_name').val(),
                    'message': $('#cf_message').val()
                }; //Use JSON to pass parameters into ajax calls  
                parameters = JSON.stringify(parameters); 


                //Make ajax call to post to database
                $.ajax({
                    type: 'POST',
                    url: '../Escape/SendTestimony.php',
                    datatype: 'json',
                    data: parameters,
                    success: function (result) {
                    alert(result);
                        $('#ValidateTest').html('Thank-you!').css({ 'color': 'green' }).show();
                    },
                    error: function(jqXHR, textStatus, errorThrown) {alert(textStatus   ":"   errorThrown);}
                });
  

Комментарии:

1. Это проблема, потому что вы заключаете в кавычки $name и $message? Похоже, что это может быть … попробуйте заменить их одинарными кавычками.

2. Спасибо, что, кажется, сработало. Но теперь параметры кажутся пустыми. Я получаю неопределенный индекс: имя и неопределенный индекс: сообщение. Спасибо за помощь, я новичок в php.

Ответ №1:

вы должны добавить точки перед переменными и одинарные кавычки вокруг них:

 mysql_query("CALL sp_CreateTestimony('".$name."', '".$message."')");
  

Ответ №2:

проблема заключалась в stringify. Я удалил это, и это решило проблему.