ajfjr
asked on
sqlsrv_get_field()
I'm needing a little help here. Would anyone know why my sqlsrv_get_field($myData,0 ) would be complaining with "Warning: sqlsrv_get_field() expects parameter 1 to be resource, boolean given in C:\Program Files\Apache Software Foundation\Apache2.2\htdoc s\TMCTrans criptionVi ewer\downl oadfile.ph p on line 43 "
Here's the output for $myData,
$myData = bool(true)
Here's the output for $myData,
$myData = bool(true)
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
date_default_timezone_set('America/Tegucigalpa') ;
$REPORTID = $_GET['REPORTID'];
echo 'ReportID = '.$REPORTID.'<br>';
if(!is_numeric($REPORTID))
die("Invalid REPORTID specified. REPORTID = " . $REPORTID);
$serverName = "TEXPARRPT";
$connectionInfo = array( "Database"=>"MEDQUIST","UID"=>"xx","PWD"=>"xxxxx");
/* Connect */
$conn2 = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn2 ){
// echo "<br>Connection ready to go!<br>";
}
else
{
echo "<br>Could not connect to ".$serverName ."." . $connectionInfo["Database"]."<br><br>";
die( print_r( sqlsrv_errors(), true));
}
$dbQuery = "SELECT MIMETYPE, CONTENT
FROM REPORTCONTENTT
INNER JOIN REPORT_DESCT ON REPORTCONTENTT.REPORTID = REPORT_DESCT.REPORTID
WHERE REPORTCONTENTT.REPORTID = ".$REPORTID;
$result = sqlsrv_query($conn2, $dbQuery);
// Note: I do get results from sqlsrv_query() above.
if($result){
// echo '<br>Got results from sqlsrv_query()!<br><br>';
$myData = sqlsrv_fetch($result);
// Note: I do get results from sqlsrv_fetch() above.
if($myData){
echo '<br>sqlsrv_fetch() suceeded! sqlsrv_fetch($result) = '.$myData.'<br>';
// var_dump($myData);
}
else{
echo '<br>Error with sqlsrv_fetch($result). $myData = <br>';
var_dump($result);
}
$fileType = sqlsrv_get_field($myData,0);
// Warning: sqlsrv_get_field() expects parameter 1 to be resource, boolean given...
if($fileType){
echo '<br>sqlsrv_get_field() suceeded!<br>FileType = '.$fileType;
}
else{
echo '<br>sqlsrv_get_field($myData,0) failed. $myData = ';
var_dump($myData);
echo '<br><br>';
print_r( sqlsrv_errors(), true);
}
}
else{
echo '<br>Something happened with sqlsrv_query()<br>';
die( print_r( sqlsrv_errors(), true));
}
//// echo $fileContent;
// }
//else
// {
// echo "Record doesn't exist.";
// }
sqlsrv_free_stmt($result);
sqlsrv_close($conn2);
?>
It seems sqlsrv_get_field() expects to find something like a string identifying a MIME file type and it find a boolean value. If this is the case, then I would look at sqlsrv_fetch($result) function which return a boolean value and not a string. Can you post the code for sqlsrv_fetch()?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
This was interesting and it works! Could you explain what's going on so a PHP newbie like me can understand what's going on?
Thank You!
Thank You!
Basically your error was the first paramater of function
$fileType = sqlsrv_get_field($myData,0 );
the correct line is a valid resource
$fileType = sqlsrv_get_field($result,0 );
The rest is a good validating returning data types
$fileType = sqlsrv_get_field($myData,0
the correct line is a valid resource
$fileType = sqlsrv_get_field($result,0
The rest is a good validating returning data types