PHP получает данные из jquery

0

Я пытаюсь написать простую программу, чтобы сервер мог получать данные от клиента. Я пишу простой код в своем скрипте

var str = "testString"; 

$.post("http://anonymous.comze.com/test1.php", { string: str }); 

на сервере,

$var = $_POST['string']; // this fetches your post action

$sql2 = "INSERT INTO afb_comments VALUES ('3',$var)";

$result2= mysql_query($sql2,$conn);

Вопрос: var всегда имеет значение null. Sql2 может быть выполнен, если я, например, меняю $ var на "1111", но если я положу $ var, это не сработает. Может ли кто-нибудь дать совет?

  • 0
    var_dump () ваши значения POST и посмотреть, что вы получите.
  • 1
    Поместите кавычки вокруг $var в запросе.
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

Используйте этот пример и узнайте из этого кода, как получить данные

Или

использование также может использовать эту ссылку:

http://api.jquery.com/jQuery.get/

$ user и $ pass должны быть установлены на ваше имя пользователя и пароль пользователя MySql.

Я бы использовал что-то вроде этого:

JS

success: function(data){
             if(data.status === 1){
                 sr = data.rows;
             }else{
                 // db query failed, use data.message to get error message
             }
        }
PHP:

<?php

    $host = "localhost";
    $user = "username";
    $pass = "password";
    $databaseName = "movedb";
    $tableName = "part parameters";

    $con = mysql_pconnect($host, $user, $pass);
    $dbs = mysql_select_db($databaseName, $con);
    //get the parameter from URL
    $pid = $_GET["pid"];
    if(empty($pid)){
        echo json_encode(array('status' => 0, 'message' => 'PID invalid.'));
    } else{
        if (!$dbs){
            echo json_encode(array('status' => 0, 'message' => 'Couldn\'t connect to the db'));       
        }
        else{
            //connection successful
            $sql = "SELECT 'Processing Rate (ppm)' FROM 'part parameters' WHERE 'Part Number' LIKE '" . mysqli_real_escape_string($pid) . "'"; //sql string command
            $result = mysql_query($sql) or die(mysql_error());//execute SQL string command
            if(mysql_num_rows($result) > 0){
                $rows = mysql_fetch_row($result);
                echo json_encode(array('status' => 1, 'rows' => $rows["Processing Rate (ppm)"]);
            }else{
                echo json_encode(array('status' => 0, 'message' => 'Couldn\'t find processing rate for the give PID.'));   
            }
        }

    }

?>
As another user said, you should try renaming your database fields without spaces so part parameters => part_parameters, Part Number => part_number.
  • 0
    Это huge излишество.
  • 0
    Это хорошо! большое спасибо!
1

вы передаете строку в запрос, чтобы она была

$var = $_POST['string']; // this fetches your post action

$sql2 = "INSERT INTO afb_comments VALUES ('3','".$var."')";

$result2= mysql_query($sql2,$conn);

пожалуйста, также проверьте тип данных этой колонки.

  • 0
    Я попробовал ваш метод, теперь я могу запустить код. Тем не менее, в моей базе данных я вставляю запись, но значение для $ var $ пусто.
  • 0
    ХОРОШО! Я решил это, большое спасибо. Маленькая ошибка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню