0

Здравствуйте запутался с синтаксисом вот есть блок в который нужно вывести значение из одной ячейки в таблице.

$sql = "SELECT Ptittle FROM dbo.Pcontent WHERE Pname=$Fname";
$stmt = sqlsrv_query( $conn, $sql );
echo $stmt;

Имя строчки откуда вытаскивать определяется по имени текущего открытого файла, которое заносится в переменную, это важно.

на выходе получаю вот это:

SELECT Ptittle FROM dbo.Pcontent WHERE Pname=mopr

вместо содержания ячейки, буду рад, если подскажите

Denis Bubnov
  • 13,958
qaz qaz
  • 145

2 Answers2

0

Pname имеет, вероятно, строковый тип? тогда вставляемый в строку запроса литерал должен быть обрамлён кавычками.

$sql = "SELECT Ptittle FROM dbo.Pcontent WHERE Pname='$Fname'";
Akina
  • 31,807
  • не помогло :С $query = "SELECT Ptittle FROM dbo.Pcontent WHERE Pname='$Fname'"; $result = sqlsrv_query ($conn,$query); $myrow = sqlsrv_fetch_array ($result); echo $myrow;

    ?>

    ошибка та же

    – qaz qaz Dec 02 '16 at 06:42
  • PHP Warning: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given in C:\inetpub\wwwroot\technet\mopr.php on line 24 – qaz qaz Dec 02 '16 at 06:44
  • @qaz qaz Для меня загадка выражение "ошибка та же" - в исходном сообщении НЕТ никакого сообщения об ошибке. Есть только результат, который отличается от ожидаемого (хотя я не понимаю, почему - для приведённого там кода он правильный). А чтобы понять, почему запрос не выполняется - включите после sqlsrv_query проверку на ошибку (проверку $result на FALSE) и вывод ошибки. – Akina Dec 02 '16 at 06:49
  • я немного тупанул :D вот листинг: $sql = "SELECT Ptittle FROM dbo.Pcontent WHERE Pname='$Fname'"; $result = sqlsrv_query ($conn,$sql);

    echo $result;

    но при обработке теперь не выводит вообще ничего :С

    – qaz qaz Dec 02 '16 at 07:02
0
    function NumRows($query) {
        return mssql_num_rows($query);
    }


    function FetchArray($query) {
        return mssql_fetch_array($query);
    }

        $Result = $DB->Query('SELECT Ptittle FROM dbo.Pcontent WHERE Pname = $Fname order by ConnectTM ASC');

    if ($DB->NumRows($Result) == 0) {
        echo '<tr><td colspan="6"><center>no!</center></td></tr>';
    }

    while($Info = $DB->FetchArray($Result)) {
        ++$Count;

        $GetInfo = $DB->FetchRow($DB->Query("SELECT Ptittle FROM dbo.Pcontent WHERE Name = '$Fname[0]'"));
        $Name = $GetInfo[0];

        echo '<td align="center">'.$Name.'</td>
            ';
    }
  • 3
    делайте, пожалуйста, более развернутые ответы. Как Ваш код связан с кодом в вопросе? Что происходит у ТС и почему он по-Вашему наблюдает такое поведение...Что делает Ваш код и т.д. и т.п. – Михаил Ребров Sep 06 '17 at 11:35