North Carolina campus shooting leaves 2 dead, 4 injured

North Carolina campus shooting leaves 2 dead, 4 injured
People gather across from the campus of UNC Charlotte after a fatal shooting at the school, Tuesday, April 30, 2019, in Charlotte, N.C. (AP Photo/Jason E. Miczek)
By Associated Press
Published: May 01, 2019 07:23 AM

CHARLOTTE, May 1: A man armed with a pistol opened fire on students in a classroom building at a North Carolina university during the last day of classes Tuesday, killing two people and wounding four others, police said. Officers who had gathered ahead of a campus concert raced over and disarmed the suspect in the room where the shooting happened.

The shooting prompted a lockdown at the University of North Carolina-Charlotte and caused panic across campus as students sheltered in place.

Campus Police Chief Jeff Baker said authorities received a call around 4:40 p.m. that a suspect armed with a pistol had shot several students. He said officers assembling nearby for a concert rushed to the scene, where they apprehended the male suspect. Authorities did not immediately release the suspect’s identity.

“Our officers’ actions definitely saved lives,” Baker said at a news conference.

He said two people were killed, and three remained in critical condition late Tuesday. He said a fourth person’s injuries were less serious.

Monfia Drayton, an adjunct professor, was walking onto campus when she heard the shots ring out. She said she began urging students fleeing the danger to go into a parking deck for cover.

“I heard one final gunshot and I saw all the children running toward me,” she said. “We started to get all the children pulled into the second floor of the parking deck and the rationale was if we’re in the parking deck and there’s a shooter and we don’t know where he is, he won’t have a clear shot.”

She added: “My thought was, I’ve lived my life, I’ve had a really good life, so, these students deserve the same. And so, whatever I could do to help any child to safety, that’s what I was going to do.”

Antonio Rodriguez, 24, who was visiting campus for his friend’s art show, described a chaotic scene.

“Just loud bangs. A couple loud bangs and then we just saw everyone run out of the building, like nervous, like a scared run like they were looking behind,” he said.

Shortly after UNC Charlotte issued a campus lockdown, aerial shots from local television news outlets showed police officers running toward a building, while another view showed students running on a campus sidewalk.

The Charlotte-Mecklenburg Police Department later said that the campus had been secured and that officers were going through buildings to let people who had sheltered in place know that it was safe.

The university has more than 26,500 students and 3,000 faculty and staff. The campus is located northeast of the city center and is surrounded by residential areas.

Spenser Gray, a junior, said she was in a campus building near where the shooting happened watching another student’s presentation when they were alerted to the shooting.

“During his presentation which was on one of the campus computers, a popup came up ... that there was an active shooter,” she said, adding that she immediately felt panic and worried the gunman could come to her classroom. “We had no idea where he was ... so we were just expecting them at any moment coming into the classroom.”

Susan Harden, an UNCC professor and Mecklenburg County Commissioner, was at home when she heard of the shooting. She went to a staging area, she said, to provide support.

Harden said she has taught inside the Kennedy building, where the shootings occurred.

“It breaks my heart. We’re torn up about what’s happened,” Harden said. “Students should be able to learn in peace and in safety and professors ought to be able to do their jobs in safety.”

Request history8.2.19PHP Version4.75sRequest Duration6MBMemory UsageGET amp/news/{slug}Route
    • Booting (16.15ms)time
    • Application (4.73s)time
    • 1 x Application (99.66%)
      4.73s
      1 x Booting (0.34%)
      16.15ms
      1 templates were rendered
      • frontend.amp-detailamp-detail.blade.php#?blade
      uri
      GET amp/news/{slug}
      middleware
      web, mynews, kyc
      controller
      App\Http\Controllers\Frontend\News\NewsController@getBySlug
      namespace
      prefix
      where
      as
      news.slug
      file
      app/Http/Controllers/Frontend/News/NewsController.php:276-373
      10 statements were executed4.69s
      • NewsController.php#297republica1369msselect `id`, `title`, `content`, `excerpt`, `permalink`, `pub_date`, `is_subscriber_only`, `is_subscriber_user`, `is_free`, `is_logged_in_user`, `content`, `caption`, `news_slug`, `exclusive_news` from `news` where `permalink` = 'north-carolina-campus-shooting-leaves-2-dead-4-injured' and `status` = 1 limit 1
        Bindings
        • 0: north-carolina-campus-shooting-leaves-2-dead-4-injured
        • 1: 1
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:297
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:291
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
      • NewsController.php#297republica11.13msselect `attachments`.`id`, `directory`, `file`, `news_has_attachments`.`news_id` as `pivot_news_id`, `news_has_attachments`.`attachment_id` as `pivot_attachment_id`, `news_has_attachments`.`created_at` as `pivot_created_at`, `news_has_attachments`.`updated_at` as `pivot_updated_at` from `attachments` inner join `news_has_attachments` on `attachments`.`id` = `news_has_attachments`.`attachment_id` where `news_has_attachments`.`is_featured_image` = '0' and `news_has_attachments`.`news_id` in (64293)
        Bindings
        • 0: 0
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:297
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:291
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
      • NewsController.php#297republica1640μsselect `categories`.`id`, `name`, `news_has_categories`.`news_id` as `pivot_news_id`, `news_has_categories`.`category_id` as `pivot_category_id`, `news_has_categories`.`created_at` as `pivot_created_at`, `news_has_categories`.`updated_at` as `pivot_updated_at` from `categories` inner join `news_has_categories` on `categories`.`id` = `news_has_categories`.`category_id` where `news_has_categories`.`news_id` in (64293)
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:297
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:291
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
      • NewsController.php#297republica1630μsselect `attachments`.`id`, `directory`, `file`, `news_has_attachments`.`news_id` as `pivot_news_id`, `news_has_attachments`.`attachment_id` as `pivot_attachment_id`, `news_has_attachments`.`created_at` as `pivot_created_at`, `news_has_attachments`.`updated_at` as `pivot_updated_at` from `attachments` inner join `news_has_attachments` on `attachments`.`id` = `news_has_attachments`.`attachment_id` where `news_has_attachments`.`is_featured_image` = '1' and `news_has_attachments`.`news_id` in (64293)
        Bindings
        • 0: 1
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:297
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:291
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
      • NewsController.php#297republica1630μsselect `authors`.`id`, `name`, `avatar`, `news_has_authors`.`news_id` as `pivot_news_id`, `news_has_authors`.`author_id` as `pivot_author_id`, `news_has_authors`.`created_at` as `pivot_created_at`, `news_has_authors`.`updated_at` as `pivot_updated_at` from `authors` inner join `news_has_authors` on `authors`.`id` = `news_has_authors`.`author_id` where `news_has_authors`.`news_id` in (64293)
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:297
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:291
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
      • NewsController.php#388republica13.69sselect `id`, `title`, `excerpt`, `permalink`, `pub_date`, `is_subscriber_only`, MATCH(title, excerpt) AGAINST ('North Carolina campus shooting leaves 2 dead 4 injured' IN BOOLEAN MODE) as score from `news` where `id` != 64293 and `status` = 1 order by `score` desc, `pub_date` desc limit 6
        Bindings
        • 0: 64293
        • 1: 1
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:388
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:380
        • app/Http/Controllers/Frontend/News/NewsController.php:306
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
      • NewsController.php#388republica11.78msselect `attachments`.`id`, `directory`, `file`, `news_has_attachments`.`news_id` as `pivot_news_id`, `news_has_attachments`.`attachment_id` as `pivot_attachment_id`, `news_has_attachments`.`created_at` as `pivot_created_at`, `news_has_attachments`.`updated_at` as `pivot_updated_at` from `attachments` inner join `news_has_attachments` on `attachments`.`id` = `news_has_attachments`.`attachment_id` where `news_has_attachments`.`is_featured_image` = '0' and `news_has_attachments`.`news_id` in (35696, 65103, 128396, 142387, 143457, 156378)
        Bindings
        • 0: 0
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:388
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:380
        • app/Http/Controllers/Frontend/News/NewsController.php:306
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
      • NewsController.php#388republica1700μsselect `attachments`.`id`, `directory`, `file`, `news_has_attachments`.`news_id` as `pivot_news_id`, `news_has_attachments`.`attachment_id` as `pivot_attachment_id`, `news_has_attachments`.`created_at` as `pivot_created_at`, `news_has_attachments`.`updated_at` as `pivot_updated_at` from `attachments` inner join `news_has_attachments` on `attachments`.`id` = `news_has_attachments`.`attachment_id` where `news_has_attachments`.`is_featured_image` = '1' and `news_has_attachments`.`news_id` in (35696, 65103, 128396, 142387, 143457, 156378)
        Bindings
        • 0: 1
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:388
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:380
        • app/Http/Controllers/Frontend/News/NewsController.php:306
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
      • NewsController.php#416republica1412msselect `id`, `title`, `excerpt`, `permalink`, `pub_date`, `is_subscriber_only`, `read_time`, `news_slug` from `news` where `pub_date` between '2025-04-25 05:46:16' and '2025-04-26 05:46:16' and `id` not in (64293) and `status` = 1 order by `view_count` desc limit 3
        Bindings
        • 0: 2025-04-25 05:46:16
        • 1: 2025-04-26 05:46:16
        • 2: 64293
        • 3: 1
        Backtrace
        • app/Http/Controllers/Frontend/News/NewsController.php:416
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:426
        • app/Http/Controllers/Frontend/News/NewsController.php:410
        • app/Http/Controllers/Frontend/News/NewsController.php:315
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
      • UpdateNewsVisitListener.php#27republica1210msupdate `news` set `view_count` = `view_count` + 1, `news`.`updated_at` = '2025-04-26 05:46:17' where `id` = 64293 and `status` = 1
        Bindings
        • 0: 2025-04-26 05:46:17
        • 1: 64293
        • 2: 1
        Backtrace
        • app/Listeners/UpdateNewsVisitListener.php:27
        • vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:473
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • vendor/laravel/framework/src/Illuminate/Routing/Route.php:264
      App\Models\News
      7News.php#?
      App\Models\Attachment
      5Attachment.php#?
      App\Models\Category
      1Category.php#?
      App\Models\Author
      1Author.php#?
          _token
          XnZhozBcdecsITVD57LdRslhMKSgwgwaJ1zY4Z2k
          subscriber_only_page
          https://newtest.myrepublica.com/amp/news/north-carolina-campus-shooting-leaves-2-dead-4-injured
          _previous
          array:1 [ "url" => "https://newtest.myrepublica.com/amp/news/north-carolina-campus-shooting-leaves...
          _flash
          array:2 [ "old" => [] "new" => [] ]
          path_info
          /amp/news/north-carolina-campus-shooting-leaves-2-dead-4-injured
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:22 [ "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.135.229.106" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "host" => array:1 [ 0 => "newtest.myrepublica.com" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "9361cde2abd45624-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "3.135.229.106" ] ]
          request_cookies
          []
          
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 26 Apr 2025 00:01:17 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjJPcWRmTmQzSFBGTXI1R28rZ1VocFE9PSIsInZhbHVlIjoiVUNIL1p4cHhJT3NGOTZ3OUg0M3Fnc2hneFNTcEpEUGJuUWJiWXQ1SnlFVmZRb3J1VnBVY0NXUUNCcXdQTGxGZmtNaDNReThuMnY1MHlGb0xuaGF0V3NOWlNCeEt0blEza3hZYmIxT3F5ZmRnZmk3WVljdDVhVXJPM1ZEUVZVdWYiLCJtYWMiOiJlMmEzNDkyMjkwZGYzZTRjNTE1MjNiZThlMjA5Yzk0YTY5N2VlMzdmM2EyM2UzZDA5ZThmYTdlYjAzODQ3ZjQzIiwidGFnIjoiIn0%3D; expires=Sun, 26 Apr 2026 00:01:17 GMT; Max-Age=31536000; path=/; secure; samesite=laxXSRF-TOKEN=eyJpdiI6IjJPcWRmTmQzSFBGTXI1R28rZ1VocFE9PSIsInZhbHVlIjoiVUNIL1p4cHhJT3NGOTZ3OUg0M3Fnc2hneFNTcEpEUGJuUWJiWXQ1SnlFVmZRb3J1VnBVY0NXUUNCcXdQTGxGZmtNaDNRe" 1 => "republica_session=eyJpdiI6InpYc29vSnBydjN2Rzl1d3VYZ3J4Vmc9PSIsInZhbHVlIjoiZ05xajhybGZtcFA2SXk2L1dEMzBQOE8vQ0pWWW1LMWhqVk1sUGVBUW5jSGJGWTlBbmdodGIxTGNOMVA5NkV2N1lqWGl6OU16M2VrZGQ1bU01aWVmVEJNNUhCU1NNWmljdVNsVWViM0pla3o3NWtyWTlZRmRZMXhRMW56M3FidmciLCJtYWMiOiI5ZjA4MGQ2ODYwYmQ1NTAyOWFjOTMxZmRlMjdlMTY0YzFkZWRmZWJlYWIyMTFlOWNjMTdjOWZiMTg1Y2Q4YjE2IiwidGFnIjoiIn0%3D; expires=Sun, 26 Apr 2026 00:01:17 GMT; Max-Age=31536000; path=/; secure; httponly; samesite=laxrepublica_session=eyJpdiI6InpYc29vSnBydjN2Rzl1d3VYZ3J4Vmc9PSIsInZhbHVlIjoiZ05xajhybGZtcFA2SXk2L1dEMzBQOE8vQ0pWWW1LMWhqVk1sUGVBUW5jSGJGWTlBbmdodGIxTGNOMVA5NkV2N1" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjJPcWRmTmQzSFBGTXI1R28rZ1VocFE9PSIsInZhbHVlIjoiVUNIL1p4cHhJT3NGOTZ3OUg0M3Fnc2hneFNTcEpEUGJuUWJiWXQ1SnlFVmZRb3J1VnBVY0NXUUNCcXdQTGxGZmtNaDNReThuMnY1MHlGb0xuaGF0V3NOWlNCeEt0blEza3hZYmIxT3F5ZmRnZmk3WVljdDVhVXJPM1ZEUVZVdWYiLCJtYWMiOiJlMmEzNDkyMjkwZGYzZTRjNTE1MjNiZThlMjA5Yzk0YTY5N2VlMzdmM2EyM2UzZDA5ZThmYTdlYjAzODQ3ZjQzIiwidGFnIjoiIn0%3D; expires=Sun, 26-Apr-2026 00:01:17 GMT; path=/; secureXSRF-TOKEN=eyJpdiI6IjJPcWRmTmQzSFBGTXI1R28rZ1VocFE9PSIsInZhbHVlIjoiVUNIL1p4cHhJT3NGOTZ3OUg0M3Fnc2hneFNTcEpEUGJuUWJiWXQ1SnlFVmZRb3J1VnBVY0NXUUNCcXdQTGxGZmtNaDNRe" 1 => "republica_session=eyJpdiI6InpYc29vSnBydjN2Rzl1d3VYZ3J4Vmc9PSIsInZhbHVlIjoiZ05xajhybGZtcFA2SXk2L1dEMzBQOE8vQ0pWWW1LMWhqVk1sUGVBUW5jSGJGWTlBbmdodGIxTGNOMVA5NkV2N1lqWGl6OU16M2VrZGQ1bU01aWVmVEJNNUhCU1NNWmljdVNsVWViM0pla3o3NWtyWTlZRmRZMXhRMW56M3FidmciLCJtYWMiOiI5ZjA4MGQ2ODYwYmQ1NTAyOWFjOTMxZmRlMjdlMTY0YzFkZWRmZWJlYWIyMTFlOWNjMTdjOWZiMTg1Y2Q4YjE2IiwidGFnIjoiIn0%3D; expires=Sun, 26-Apr-2026 00:01:17 GMT; path=/; secure; httponlyrepublica_session=eyJpdiI6InpYc29vSnBydjN2Rzl1d3VYZ3J4Vmc9PSIsInZhbHVlIjoiZ05xajhybGZtcFA2SXk2L1dEMzBQOE8vQ0pWWW1LMWhqVk1sUGVBUW5jSGJGWTlBbmdodGIxTGNOMVA5NkV2N1" ] ]
          session_attributes
          0 of 0
          array:4 [ "_token" => "XnZhozBcdecsITVD57LdRslhMKSgwgwaJ1zY4Z2k" "subscriber_only_page" => "https://newtest.myrepublica.com/amp/news/north-carolina-campus-shooting-leaves-2-dead-4-injured" "_previous" => array:1 [ "url" => "https://newtest.myrepublica.com/amp/news/north-carolina-campus-shooting-leaves-2-dead-4-injured" ] "_flash" => array:2 [ "old" => [] "new" => [] ] ]
          ClearShow all
          Date ↕MethodURLData
          #12025-04-26 05:46:17GET/amp/news/north-carolina-campus-shooting-leaves-2-dead-4-injured11014