将SQL concat发送到PHP变量

时间:2017-06-30 09:34:45

标签: php jquery mysql

我正在尝试使用concat选择多个列,并将返回的数据放入一个文本框中。

我认为我对变量的定义有问题。但我无法弄清楚出了什么问题。以下是变量:

$id = isset($_POST['id'])?$_POST['id']:'';
$name = isset($_POST['firstname'])?$_POST['firstname']:'';
$name .= isset($_POST['insertion'])?$_POST['insertion']:'';
$name .= isset($_POST['lastname'])?$_POST['lastname']:'';

当我为$ name定义一个变量时,脚本可以工作。但这不是我想要的。

有人知道出了什么问题吗?

这是我脚本的另一部分。

首先我有一个文本框。需要将数据发送到此文本框:

<input type="text" class="form-control" id="name" name="name" placeholder="Name">

按钮调用发送&#39; 5&#39;作为ID并运行脚本getName():

<button type="button" rel="5" onclick="getName();"

<script type="text/javascript">
  $('body').on('click', '.selectClass', function () {
    var id         = $(this).attr('rel');
    $("#id").val(id);
    modal.style.display = "none";
  });     
</script>

点击按钮后,会在此处部署ID:

<input type="text" class="form-control" id="id" name="id">

onClick事件运行以下脚本:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script> 
  function getName(value) { // Do an Ajax request to retrieve the product price 
    console.log("getName before ajax", jQuery('#id').val());
      jQuery.ajax({ 
        url: './get/getname5.php', 
        method: 'POST', 
        data: {'id' : jQuery('#id').val()},
        success: function(response){ 
        console.log("getName after ajax", jQuery('#id').val());
        jQuery('#name').val(response);
      }, 
      error: function (request, status, error) { 
        alert(request.responseText); 
      }, 
    });                 
  } 
</script>

jquery脚本调用PHP,它不使用$ name

的多个变量
<?php    
  session_start();
  $servername = "localhost";
  $username = "root";
  $password = "";
  $dbname = "db";

  $conn = new mysqli($servername, $username, $password, $dbname) ;
  if ($conn->connect_error) {
    die('Connection failed: ' . $conn->connect_error) ;
  }else {
    $id = isset($_POST['id'])?$_POST['id']:'';
    $name = isset($_POST['firstname'])?$_POST['firstname']:'';
    $name .= isset($_POST['insertion'])?$_POST['insertion']:'';
    $name .= isset($_POST['lastname'])?$_POST['lastname']:'';

    $query = 'SELECT concat(firstname, ' ', insertion, ' ', lastname) as name FROM users WHERE id="' . mysqli_real_escape_string($conn, $id) . '"';    
    $res = mysqli_query($conn, $query) ;
    if (mysqli_num_rows($res) > 0) {
      $result = mysqli_fetch_assoc($res) ;
      echo $result['name'];   
    }else{
      $result = mysqli_fetch_assoc($res) ;
      echo $result['name']; 
    }
  }
?>

0 个答案:

没有答案