获取非法字符串偏移量获取数据时发出警告

时间:2017-07-29 22:48:01

标签: php mysql

$cq = "SELECT * FROM salescard WHERE custid = '$custid'";
$rq = mysqli_query($conn,$cq);
if ($c = mysqli_fetch_array($rq, MYSQLI_ASSOC)) {

$edate =$c['expdate'];
$ono = $c['orderno'];
$cno = $c['cardno'];
$c = $c['cvv'];
$email = $c['email'];
$no = $c['no'];

}

我从表中获取数据并回显上面提取的变量。

所有变量都正确回显期望$ email和$ no。

Warning: Illegal string offset 'email' in 
C:\xampp\htdocs\erp\admin\viewsales\card.php on line 94

Warning: Illegal string offset 'no' in 
C:\xampp\htdocs\erp\admin\viewsales\card.php on line 95

我所知道的是这个警告与定义变量的变量有关。

只有两个变量显示错误,其余正在正确获取 我怎样才能正常工作?

修改

我的salescard表中肯定有这两列,我可以从另一个表单中存储数据。

$email = $c['email'];
$no = $c['no'];

这些是第94和95行

我想在这里显示数据

<div class="form-group half left clear">
  <input type="text" value="<?php echo $email;?>" name="email" />
  <label class="control-label" for="input">Email Address</label><i 
class="bar"></i>
</div>

 <div class="form-group half right">
  <input type="text" value="<?php echo $no;?>" name="no" />
  <label class="control-label" for="input">Contact number</label><i 
class="bar"></i>       
 </div>

1 个答案:

答案 0 :(得分:3)

您在第93行覆盖$ c,并将其设为字符串。

$c = $c['cvv'];

应该是:

$cvv = $c['cvv'];