Change function to PDO

后端 未结 1 1201
别那么骄傲
别那么骄傲 2021-01-21 17:33

This is a statement used in my api. It is the second $result variable in the whole function below. How can one change it to use PDO?

$result = query         


        
1条回答
  •  鱼传尺愫
    2021-01-21 17:54

    Try this:

    $conn = new PDO('mysql:host=localhost;dbname=dbname', 'root', 'password');
    function stream($IdPhoto=0) {
    global $conn;
    
    if ($IdPhoto==0) {
    
        // load the last 300 photos
        $stmt = $conn->prepare("SELECT IdPhoto, device_token, IdUser FROM photos ORDER BY IdPhoto DESC LIMIT 300 ");
        $stmt->execute();
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
    
    } else {
    
    //This is the statement i need to call explicitly via PDO
    
        //do the same as above, but just for the photo with the given id
        $stmt = $conn->prepare("SELECT p.IdPhoto, p.device_token, p.IdUser FROM photos p JOIN login l ON (l.IdUser = p.IdUser) WHERE p.IdPhoto= :idphoto ");
        $stmt->execute([':idphoto' => $IdPhoto]);
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
    
    }
    
    if (!$stmt->errorInfo()[0]) {
        // if no error occured, print out the JSON data of the 
        // fetched photo data
        print json_encode($result);
    } else {
        //there was an error, print out to the iPhone app
        errorJson('Photo stream is broken');
    }
    }
    

    0 讨论(0)
提交回复
热议问题