Skip to content

Navid's Blog

Ideas, Experiments, and Lessons Learned

Menu
Menu

I Spent 3 Hours on a Bug That Was a One-Line Fix

Posted on April 16, 2026 by Navid

The Bug That Made Me Feel Stupid

Three hours. That’s how long I stared at my screen, questioning my career choices, before finding the fix. One line. That’s all it took.

Let me tell you what happened.

What I Was Building

I was working on a simple API endpoint that fetched user data from our database and returned it as JSON. Nothing fancy. GET request, query the users table, send back the results.

Except it wasn’t working.

The Problem

The endpoint was returning an empty array every time. No errors, no exceptions — just an empty response. The database had data. The query looked correct. I checked the logs, the database connection, the query itself. Everything seemed fine.

For three hours.

What I Tried

  • Printed the SQL query to make sure it was correct — it was.
  • Ran the query directly in the database — returned 50 rows.
  • Checked if the database user had permissions — yes.
  • Added more logging everywhere.
  • Restarted the server. Multiple times.
  • Started questioning if my咖啡 was too strong or not strong enough.

The Fix

Turns out I was using fetchAll() when I should have been using fetch(). The query was returning multiple rows, but the code was treating it as a single result and returning nothing because it couldn’t match the expected structure.

One line change: $result = $stmt->fetch(PDO::FETCH_ASSOC); became $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

What I Learned

Here’s the thing — I knew the difference between fetch() and fetchAll(). I’ve used both many times before. But in this case, I just copied code from another function and didn’t double-check.

Three hours wasted because I didn’t verify the basics. That’s on me.

Now I have a rule: when something isn’t working and I’ve checked everything else, I go back to the fundamentals. Often the bug is in the simplest part of the code — the part I’ve already looked at a hundred times and stopped really seeing.

Also, take breaks. Seriously. I solved this after stepping away for 10 minutes. Sometimes your brain just needs to stop staring at the same lines.

Pro tip: If you’ve been debugging for more than 2 hours without progress, stop. Go for a walk. Get coffee. You’ll be surprised how often the solution appears the moment you look at the code with fresh eyes.

Categories

  • AI Experiments
  • Coding
  • Debugging Stories
  • Hot Takes
  • Ideas
  • Lessons Learned
  • Project Management
  • Uncategorized
  • Vibe Coding

Recent Posts

  • I Spent 3 Hours Debugging — It Was a Typo
  • I Spent 3 Hours on a Bug That Was a One-Line Fix
  • The Time I Accidentally Deleted Our Production Database
  • I Accidentally Deleted Production Data at 2 AM — Here’s What Saved Me
  • How I Found the Memory Leak That Was Killing Our Production Server