Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 类mysqli_result的对象无法转换为字符串5_Php_Mysqli - Fatal编程技术网

Php 类mysqli_result的对象无法转换为字符串5

Php 类mysqli_result的对象无法转换为字符串5,php,mysqli,Php,Mysqli,目标 用户在文本字段中输入一个数字并点击计算 然后用250减去这个数字 根据$result是什么,将显示特定的图像 问题 当页面运行时,我收到以下错误消息 可捕获的致命错误:在第95行的/home/cs12jcw/public_html/n-power/includes/calculator.php中,类mysqli_result的对象无法转换为字符串 第95行是 echo "<img src='$image' alt='' />"; echo”“; 完

目标

  • 用户在文本字段中输入一个数字并点击计算

  • 然后用250减去这个数字

  • 根据$result是什么,将显示特定的图像

  • 问题

    当页面运行时,我收到以下错误消息

    可捕获的致命错误:在第95行的/home/cs12jcw/public_html/n-power/includes/calculator.php中,类mysqli_result的对象无法转换为字符串

    第95行是

    echo "<img src='$image' alt='' />";
    
    echo”“;
    
    完整代码

    <?php
    $valuea = (isset($_POST['valuea']) && is_numeric($_POST['valuea'])) ? $_POST['valuea'] : 0;
    $valueb = 250;
    
    $answer = $valuea - $valueb;
    
    ?>
    <form method='post' action='calculator.php'>
    <table border='0' width='500px' cellpadding='3' cellspacing='1' class="table">
    <tr class="calcheading">
        <td colspan="2"><strong>Work out how much you could be     saving</strong></td>
    </tr>
    <tr class="calcrow">
        <td>How much do you spend a year?</td>
        <td align="center"><input     type='text' name='valuea' value="$valuea"/></td>
    </tr>
    <tr class="calcrow">
        <td>Minus the average price of an n-power student tarrif* Leave     Blank:</td>
        <td align="center"><input type='text' name='valueb' value="$valueb"/></td>
    </tr>
    <tr class="submit">
        <td colspan="2"><input type='submit' value='Calculate'/></td>
    </tr>
    <tr class="calcrow">
        <td><i>You could be saving:</td>
        <td align="center"><input type="text" value="<?php echo round($answer)?>"></td></i>
    </tr>
    </table>
    </form>
    
    <?php
    if($db_server){
    
    switch( $answer ){
        case $answer > 0 and $answer < 150 : $image = mysqli_query($db_server, "SELECT URL     FROM images WHERE imagename = 'image1'");
        break;
    
        case $answer < 250 : $image = mysqli_query($db_server, "SELECT URL FROM images WHERE imagename = 'image2'");
        break;
    
        case $answer < 350 : $image = mysqli_query($db_server, "SELECT URL FROM images WHERE imagename = 'image3'");
        break;
    
        case $answer < 450 : $image = mysqli_query($db_server, "SELECT URL FROM images WHERE imagename = 'image4'");
        break;
    
        case $answer < 550 : $image = mysqli_query($db_server, "SELECT URL FROM images WHERE imagename = 'image5'");
        break;
    }
    
    echo "<img src='$image' alt='' />";
    
    }
    ?>
    
    
    计算出你可以节省多少钱
    你一年花多少钱?
    减去n-power学生tarrif*的平均价格留空:
    你可以节省:
    
    您忘记获取结果:

    $row = mysqli_fetch_array($image);
    echo "<img src='$row[URL]' alt='' />";
    
    $row=mysqli\u fetch\u数组($image);
    回声“;
    
    您正在将$image变量设置为mysql结果对象。您仍然需要从结果中获取数据。试试下面的方法

    $result = mysqli_query($db_server, "SELECT URL FROM images WHERE imagename = 'image1'");
    $obj = mysqli_fetch_object($result);
    $image = $obj->URL;
    
    另外,您可以将switch语句修改为下面的语句,这样您只有一个点发出查询

    $imagename = '';
    switch( $answer ){
        case $answer > 0 and $answer < 150 : $imagename = 'image1';
        break;
    
        case $answer < 250 : $imagename = 'image2';
        break;
    
        case $answer < 350 : $imagename = 'image3';
        break;
    
        case $answer < 450 : $imagename = 'image4';
        break;
    
        case $answer < 550 : $imagename = 'image5';
        break;
    }
    
    if ($imagename) {
        $result = mysqli_query($db_server, "SELECT URL FROM images WHERE imagename = '$imagename'");
        $obj = mysqli_fetch_object($result);
        $image = $obj->URL;
    
        echo "<img src='$image' alt='' />";
    }
    
    $imagename='';
    开关($应答){
    案例$answer>0和$answer<150:$imagename='image1';
    打破
    案例$answer<250:$imagename='image2';
    打破
    案例$answer<350:$imagename='image3';
    打破
    案例$answer<450:$imagename='image4';
    打破
    案例$answer<550:$imagename='image5';
    打破
    }
    如果($imagename){
    $result=mysqli_查询($db_服务器,“从图像中选择URL,其中imagename='$imagename');
    $obj=mysqli\u fetch\u对象($result);
    $image=$obj->URL;
    回声“;
    }
    
    您显然需要重新学习PHP。检查
    输入[name=valueB]
    属性的声明,您需要
    围绕它。我试过了,但后来我得到一个错误,它说出于某种原因出现了意外?>此讨论完全针对一个单独的问题。