Welcome Guest, Not a member yet? Register   Sign In
How can I use transactions with these queries?
#8

(This post was last modified: 04-20-2018, 04:01 PM by behnampmdg3.)

Ok this code seems to be working well.

But how can I check to see it is working ok on bulk requests?

Basically, how can I make 50k api calls?

PHP Code:
<?php
defined
('BASEPATH') OR exit('No direct script access allowed');

class 
Data_receiver extends CI_Controller {

    public function 
__construct()
        {
            
parent::__construct();
        }

    public function 
index()
        {
            
$this->output->enable_profiler(TRUE);
            
$this->db->trans_start();
            
//Validate Account Owner
            
$sql "SELECT * FROM launch_owners WHERE id = ?";
            
$query $this->db->query($sql, array($_POST['user_id']));
            if(
$query->num_rows()!=1)
                {
                    echo 
"Invalid Request";exit();
                }
            else
                {
                    
$results $query->result_array()[0];    
                    
print_r($_POST);
                    
print_r($results);
                    
//More Validate Account Owner
                    
if($results['status']!='active' || $results['secret_key']!=$_POST['secret_key'])
                        {
                            echo 
"Inactive Account Or Invalid Secret";exit();
                        }
                    else 
                        {
                            
//Validate Launch
                            
$sql "SELECT * FROM launch_launches WHERE id = ? AND launch_type = ?";
                            
$query $this->db->query($sql, array($_POST['launch_id'], 'evergreen'));
                            if(
$query->num_rows()==1)
                                {
                                    
//Does Prospect exist under this user?
                                    
$sql "SELECT * FROM launch_prospects WHERE email = ? AND owner_id = ?";
                                    
$query $this->db->query($sql, array($_POST['prospect_email'], $_POST['user_id']));
                                    if(
$query->num_rows()==1)
                                        {
                                            
$prospect_id $query->result_array()[0]['id'];
                                        }
                                    else 
                                        {
                                            
$data = array(
                                                
'email' => $_POST['prospect_email'],
                                                
'owner_id' => $_POST['user_id'],
                                            );
                                            
$this->db->insert('launch_prospects'$data);
                                            
$prospect_id $this->db->insert_id();
                                        }
                                    
//Delete prospect from this launch if already exist in the seqeunce
                                    
$this->db->delete('launch_launch_prospect', array('launch_id' => $_POST['launch_id'], 'prospect_id'=>$prospect_id)); 
                                    
//Add Prospect To Launch
                                    
$data = array(
                                                
'launch_id' => $_POST['launch_id'],
                                                
'prospect_id' => $prospect_id,
                                                
'time_added' => time(),
                                                
'date_added' => date('Y-m-d')
                                        );
                                    
$this->db->insert('launch_launch_prospect'$data);

                                    
//Insert the same into stats table
                                    
$data = array(
                                                
'launch_id' => $_POST['launch_id'],
                                                
'prospect_id' => $prospect_id,
                                                
'time_added' => time(),
                                                
'date_added' => date('Y-m-d'),
                                                
'source' => $_POST['source']
                                        );
                                    
$this->db->insert('launch_launch_prospect_history'$data);
                                    echo 
"Added Successfully";
                                }
                            else 
                                {
                                    echo 
"Invalid launch";exit();
                                }    
                        }    
                }    



        
$this->db->trans_complete();        

        }

Reply


Messages In This Thread
RE: How can I use transactions with these queries? - by behnampmdg3 - 04-20-2018, 01:56 PM



Theme © iAndrew 2016 - Forum software by © MyBB